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

时间:2014-10-17 11:06:06

标签: 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 again
Answer: 1
That's incorrect try again
Answer: 2
That's incorrect try again

这是python shell输出,你可以看到当我输入错误的数字时,我得到正确的消息,因为它是错误的,但当我把2个正确的答案都没有让它跳出循环。

提前致谢

1 个答案:

答案 0 :(得分:1)

这始终是True

a != '1' or '2':

因为它的作用如下:

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

'2'True