如果声明无论如何评估为真。 Python 3.3.0

时间:2013-12-10 03:54:23

标签: python-3.x

title=("The Game")
print (title)
start = input("Begin?")
if start == "no" or "n":
    print ("Too Bad")
    import antigravity;
if start == "yes" or "y":
    print ("Welcome to the Experiment")
else:
    print ("IDK");

无论我的回答是什么,第一个“if”将始终被解析为true。

1 个答案:

答案 0 :(得分:2)

if语句没有按照你的想法行事。 Python正在评估第一个比较,start == "no"然后将其与"n"进行比较,这是一个非空字符串,总是正确的。基本上它是(start == "no") or "n"

这就是你的意思:

if start == "no" or start == "n":

但这不是蟒蛇的方式。这就是你要找的东西:

if start in ["no", "n"]:

检查start的字符串值是否在可接受的字符串值列表中。您可能还希望仅将小写值与start.lower()

进行比较