Python elif-only触发if语句

Python elif-only触发if语句,python,Python,使用python 2.7.5 x = (raw_input)'''What will you Reply? a. Nod b. Answer c. Stare ''')) if x == "Nod" or "a" or "nod": print '''You nod shyly. "Oh that's Great"''' elif x == "Answer" or "b" or "answer": print '''You answer in a low tone. "You

使用python 2.7.5

x = (raw_input)'''What will you Reply?
a. Nod
b. Answer
c. Stare
'''))

if x == "Nod" or "a" or "nod":
    print '''You nod shyly.
"Oh that's Great"'''
elif x == "Answer" or "b" or "answer":
    print '''You answer in a low tone.
"You can speak!"'''
elif x == "Stare" or "c" or "stare":
    print '''you stare blankly, so does the AI.
"Well okay then."'''
当我运行它时,无论我在提示符中输入什么,它只会触发“你害羞地点头”。哦,太好了

但是如果我复制它并粘贴到我的python shell中,它就有一个问题,如果我去掉了它,它就有一个问题,就是t,如果我去掉了它,这很好,它就有一个问题,就是下一个elif语句的前三个字符。WTF是错误的,我的python代码和shell最近工作得很好,能够拆分if和elif。但现在它突然不想了

if x == "Nod" or "a" or "nod":
这将永远导致真正的失败

你应该使用

if x in ["Nod", "a", "nod"]

这将永远导致真正的失败

你应该使用

if x in ["Nod", "a", "nod"]

被解析为

if (x == "Nod") or ("a") or ("nod"):
a是真实的,因此无论x==Nod与否,条件总是真实的

相反,您可以使用:

if x in ("Nod", "a", "nod"):
被解析为

if (x == "Nod") or ("a") or ("nod"):
a是真实的,因此无论x==Nod与否,条件总是真实的

相反,您可以使用:

if x in ("Nod", "a", "nod"):
您的第一个条件:

if x == "Nod" or "a" or "nod":
总是被认为是真实的。请尝试以下代码:

x = raw_input('What will you Reply? a. Nod b. Answer c. Star ')

if x in ["Nod", "a", "nod"]:
    print '''You nod shyly. "Oh that's Great"'''
elif x in ["Answer", "b", "answer"]:
    print '''You answer in a low tone. "You can speak!"'''
elif x in ["Stare", "c", "stare"]:
    print '''you stare blankly, so does the AI. "Well okay then."'''
您的第一个条件:

if x == "Nod" or "a" or "nod":
总是被认为是真实的。请尝试以下代码:

x = raw_input('What will you Reply? a. Nod b. Answer c. Star ')

if x in ["Nod", "a", "nod"]:
    print '''You nod shyly. "Oh that's Great"'''
elif x in ["Answer", "b", "answer"]:
    print '''You answer in a low tone. "You can speak!"'''
elif x in ["Stare", "c", "stare"]:
    print '''you stare blankly, so does the AI. "Well okay then."'''

也看到了,这可以说是一个更好的被骗目标。也看到了,这可以说是一个更好的被骗目标。啊,耶,非常感谢,它现在起作用了。我只是想知道为什么它会导致不同的输出。使我的shell对代码中的字符感到恼火。啊,耶,非常感谢,它现在可以工作了。我只是想知道为什么它会导致不同的输出。使我的shell对代码中的字符感到恼火。