为什么这个简单的python程序不能按照我想要的方式工作?

Sam*_*Sam 1 python python-3.x

以下代码段旨在允许用户输入问题的答案.允许他们输入四个答案:y或者Y是"是",n或者N是"否".如果条目有效,程序应打印出收到的答案,否则打印出错误消息.

answer = input("What is your answer? ")
if answer == "y" or "Y":
    print("You answered yes")
elif answer == "n" or "N":
    print("You answered no")
else:
    print("You didn’t enter an acceptable answer")
Run Code Online (Sandbox Code Playgroud)

它只是继续说我yes不管是否放了n或者是N随机的东西都回答了.有人可以向我解释一下吗?

Ste*_*uch 6

优先权or不是你所期望的.而是尝试:

answer = input("What is your answer? ")
if answer in ("y", "Y"):
    print("You answered yes")
elif answer in ("n", "N"):
    print("You answered no")
else:
    print("You didn’t enter an acceptable answer")
Run Code Online (Sandbox Code Playgroud)

或者可能喜欢:

answer = input("What is your answer? ")
if answer.lower() == "y":
    print("You answered yes")
elif answer.lower() == "n":
    print("You answered no")
else:
    print("You didn’t enter an acceptable answer")
Run Code Online (Sandbox Code Playgroud)