对学校进行IT测验并且我不希望它区分大小写,所以如果我希望有2个可能的答案,我会有2个if语句。我的问题是只有一个答案有效..可能听起来很混乱。
a = input("And the answer is...")
if a == "answer1":
print("Correct!")
if a == "answer2":
print("Correct!")
else:
print("Incorrect!")
如果您输入" answer1"是:
Correct!
Incorrect!
然而," answer2"会给你:
Correct!
基本上,我想要两个"回答1"和"回答2"得到"正确的结果!"
答案 0 :(得分:1)
有两种不同的方式:
if a == "answer1" or a == "answer2":
print("Correct!")
else:
print("Incorrect!")
或
if a in ["answer1", "answer2"]:
print("Correct!")
else:
print("Incorrect!")
或
if a == "answer1":
print("Correct!")
elif a == "answer2":
print("Correct!")
else:
print("Incorrect!")
您可以在Python教程的"Flow Control"部分阅读更多信息。
答案 1 :(得分:1)
虽然isowen的答案是正确的,并且是编写函数的更好方法,但它并不能解释为什么第一个错误。
实际问题是else只适用于第二个if语句,而不是第一个。如果您希望每种情况都有不同的行为,您可以这样做:
a = input("And the answer is...")
if a == "answer1":
print("Correct!")
elif a == "answer2":
print("Also Correct!")
else:
print("Incorrect!")
编辑:当我写这篇文章时,isowen还没有完成。