Python使用';循环时出现逻辑错误;和';和';或';条件

Python使用';循环时出现逻辑错误;和';和';或';条件,python,python-3.x,while-loop,Python,Python 3.x,While Loop,我很难找出一段代码,看起来它应该是工作的,但它不是工作的方式,我希望它太 我已经做了一个示例循环来演示我遇到的问题: a = input("Answer: ") while a != '1' or '2': print("That's incorrect try again") a = input("Answer: ") 我的目的是让用户输入条件,直到它是正确的,但是当我输入正确的答案时,就会发生这种情况 Answer: 3 That's incorrect try agai

我很难找出一段代码,看起来它应该是工作的,但它不是工作的方式,我希望它太

我已经做了一个示例循环来演示我遇到的问题:

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
这是pythonshell的输出,正如您所看到的,当我输入了错误的数字时,我得到了正确的消息,因为它是错误的,但是当我将两个正确的答案都输入其中时,它就会跳出循环


提前感谢

这总是
正确的

a != '1' or '2':
因为它的工作原理如下:

(a != '1') or '2' 
而且
'2'
真的

a != '1' or '2':