这是我的代码
if diff != "1" or diff != "2" or diff != "3":
print("You need to pick either 1, 2 or 3n")
由于某种原因,结果是,
Pick a difficulty:
1) Easy
2) Medium
3) Hard
>> 2
You need to pick either 1, 2 or 3
我希望if语句检查变量 diff 不是等于字符串 1、2和3 。但是,当我放置 1、2或3 时,何时diff不等于数字时的错误消息。为什么会发生?
应用"不"的逻辑您要检查是否是任何有效结果,然后反转。(也)
if not (diff == "1" or diff == "2" or diff == "3"):
或应用demorgan定理,这将等效于"不等于1,不等于2,不等于3"
if diff != "1" and diff != "2" and diff != "3":
当然,Python还具有in
和not in
操作员,这使得更加干净:
if diff not in ("1", "2", "3"):
您需要使用,而不是OR。如果输入1,则diff != "1"
返回true。
您的代码应该看起来像这样:
if diff != "1" and diff != "2" and diff != "3":
print("You need to pick either 1, 2 or 3n")