如何检查Python3中的用户输入?

时间:2018-10-02 06:29:52

标签: python

所以我的代码是这样的:

a = input("Choose a letter")

if a == "A" or "B" or "D":
cr = "false" 

elif a == "C":
  cr = "true"

if cr == "false":
 print("Sorry you did not asnwer correctly")
 import sys
 sys.exit()

elif cr == "true":
 print("Well done!")

但是出于某种原因,无论我说什么,它都说错了。有什么帮助吗?我是python的新手,来自Lua。

2 个答案:

答案 0 :(得分:3)

if a == "A" or "B" or "D":的总值为TRUE。因为"B" or "D"每次总是求值为TRUE。因此无论如何,这可能归结为if 0 or 1 or 1

要解决此问题,您需要在每个条件运算符之后进行比较。 if a == "A" or a == "B" or a == "D"

答案 1 :(得分:2)

if a == "A" or "B" or "D":
   cr = "false" 

错了。您想要:

if a == "A" or a == "B" or a == "D":
   cr = "false" 

您可以做的一件好事是:

if a in [ 'A', 'B', 'D' ]:
   cr = "false"

或者甚至更好地将脚本重写为此:

a = input("Choose a letter")

if a == 'C':
 print("Well done!")
else:
 print("Sorry you did not asnwer correctly")
 import sys
 sys.exit()