**已关闭。**此问题为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,答案应该是“是”,否则应该是“否”,但在这种情况下,答案总是“是”。
1条答案
按热度按时间8hhllhi21#
你的
if
语句是错误的,你的代码是这样的:首先你检查42
的输入,然后只是检查一个字符串,然后再检查另一个字符串。也就是说,假设您输入了“Hello,World!”,那么
if
语句的工作方式如下:因为您使用了'or',这意味着这三个语句中只有一个为真,程序才能执行if语句。
为了解决这个问题,你可以将每个结果与输入进行比较,如下所示:
或者,您可以将其与以下结果列表进行比较: