Python |是否可能有一个IF声明的多个结果?

时间:2015-03-21 18:32:43

标签: python if-statement

对学校进行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"得到"正确的结果!"

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还没有完成。