2014-10-17 57 views
-1

我無法找出看起來應該工作的一段代碼,但它不工作,我也不想這樣做。使用'和'和'or'條件循環時Python的邏輯錯誤

我已經做出了榜樣循環來證明我遇到的問題:

a = input("Answer: ") 

while a != '1' or '2': 
    print("That's incorrect try again") 
    a = input("Answer: ") 

這樣做的目的是,我有用戶輸入,直到它是正確的條件,但是當我把正確的答案本發生了什麼事。

Answer: 3 
That's incorrect try again 
Answer: 1 
That's incorrect try again 
Answer: 2 
That's incorrect try again 

這是蟒蛇外殼輸出,正如你可以看到當我把錯誤的號碼在我得到正確的消息,因爲它是錯的,但是當我把2個正確答案既不讓它跳出的循環。

在此先感謝

回答

1

這始終是True

a != '1' or '2': 

,因爲它的工作原理是:

(a != '1') or '2' 

'2'True