我正在尝试使用此代码在python中对ATM机进行编程。但是关于输入的内容,它只是说卡已成功输入。
inputCard = input("Welcome to the atm machine, please insert your credit card (Type 'Yes' when you have done so) ")
if inputCard == ['No', 'no']: #checks if card has been entered
print ("Please retry")
else:
print ("Card is successfully inputed") `
谢谢
答案 0 :(得分:2)
相等运算符==
比较输入(字符串)是否等于右侧(列表)。直观地讲,列表永远不会等于字符串。
因此,使用in
运算符查看答案是否在可能的选项中:
if inputCard in ('No', 'no'):
或者,将答案转换为小写,然后使用==
:
if inputCard.lower() == 'no'
这种方式将接受no
,No
,NO
和nO
。
答案 1 :(得分:1)
您正在将“ inputCard”与一个列表进行比较。试试:
if inputCard.lower() == "no":
答案 2 :(得分:0)
inputCard
是str,["NO","no"]
是list。它们将不相等。您可以这样尝试
if inputCard.lower() == 'no':
或
if inputCard.upper() == 'NO':