为什么我的if语句命令不起作用

时间:2018-09-22 19:31:07

标签: python python-3.x

我正在尝试使用此代码在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") `

谢谢

3 个答案:

答案 0 :(得分:2)

相等运算符==比较输入(字符串)是否等于右侧(列表)。直观地讲,列表永远不会等于字符串。

因此,使用in运算符查看答案是否在可能的选项中:

if inputCard in ('No', 'no'):

或者,将答案转换为小写,然后使用==

if inputCard.lower() == 'no'

这种方式将接受noNoNOnO

答案 1 :(得分:1)

您正在将“ inputCard”与一个列表进行比较。试试:

if inputCard.lower() == "no":

答案 2 :(得分:0)

inputCard是str,["NO","no"]是list。它们将不相等。您可以这样尝试

if inputCard.lower() == 'no':

if inputCard.upper() == 'NO':