用户输入永远不会匹配特定的值,这有什么不对?

时间:2014-08-13 13:14:19

标签: python python-2.7

coin1 = raw_input("Coin1: ")
while coin1 != (10, 20, 50, 100):
    print "That is not a correct coin value"
    coin1 = raw_input("Coin1: ")

这段代码应该要求用户输入变量“coin1”的值,检查该值是否等于10,20,50或100,如果它不等于这些数字中的任何一个,它应该告诉你它是一个“不正确的硬币值”并要求你为变量“coin1”输入另一个值。

它要求我输入一个值,但无论我输入什么,它都不接受该值,它只是告诉我它是一个“不正确的硬币值”。

我一直试图让它工作几个小时,我几乎不知道出了什么问题,而且我是Python的初学者。你们中的任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

用户的输入将被Python视为字符串,而不是整数。使用!=,您还要将coin1int元组进行比较,这些元组永远不会相等(同样,coin1将是一个字符串)。

检查用户的输入coin1是否为可接受的硬币值之一:

while coin1 not in ("10", "20", "50", "100"):
    ...

答案 1 :(得分:0)

改变这个:

while coin1 != (10, 20, 50, 100)

对此:

while coin1 not in ['10', '20', '50', '100']