if conditional在我的python代码中不满足它的条件[已关闭]

dffbzjpn  于 2022-12-05  发布在  Python
关注(0)|答案(1)|浏览(120)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。

这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
Improve this question

thought = input("What is the answer to the great question of life, universe and everything? ").lower().strip()
if thought == "42" or "forty two" or "forty-two":
    print("Yes")
else:
    print("No")

thought = input(“生命、宇宙和万物这一伟大问题的答案是什么?“).lower().strip()if thought ==“42”or“42”or“42”:打印(“是”)否则:打印(“否”)
...
如果输入是42、42或42,答案应该是“是”,否则应该是“否”,但在这种情况下,答案总是“是”。

8hhllhi2

8hhllhi21#

你的if语句是错误的,你的代码是这样的:首先你检查42的输入,然后只是检查一个字符串,然后再检查另一个字符串。
也就是说,假设您输入了“Hello,World!”,那么if语句的工作方式如下:

if thought == 42 -> False
if "forty two" -> True
if "forty-two" - > True.

因为您使用了'or',这意味着这三个语句中只有一个为真,程序才能执行if语句。
为了解决这个问题,你可以将每个结果与输入进行比较,如下所示:

if thought == "42" or thought == "forty two" or thought == "forty-two":
    print("Yes")

或者,您可以将其与以下结果列表进行比较:

if thought in ["42", "forty two", "forty-two"]:
    print("Yes")

相关问题