所以我的代码是这样的:
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。
答案 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()