有人知道为什么此示例不起作用吗?我多年来没有使用过Python,并且想测试NOT运算符。据我记得这应该可行,我已经在线检查过,它似乎是正确的格式。我想念什么吗?
基本上,它只是要求输入1、2或3。如果用户输入这些内容,则会中断循环。如果他们没有输入1、2或3,它将打印到屏幕并再次循环播放。当前仅打印“无效输入!”然后循环不中断。
while True:
x = input("1, 2, or 3?\n")
if x != 1 or x != 2 or x != 3:
print("Invalid input!")
else:
break
我正在使用Python 3.6.4。
答案 0 :(得分:1)
嗯,这将永远是正确的。如果我键入1
,它将失败第一个条件,但会通过其他两个条件:x != 2 or x != 3
。对于所有条件,除1、2或3外的任何其他数字也将为true
。比较运算符没有问题。
我认为您想做类似的事情:
x = int(input("1, 2, or 3?\n"))
if x not in [1, 2, 3]:
print("Invalid input!")
从x
到int
的转换也很重要。否则,x
与数字的比较将始终为false
。