不读取比输入更小或更大的输入

时间:2017-12-07 03:21:01

标签: python python-3.x input

所以这是一个简单的问题部分“你的金额大于或小于50?”程序。此部分完全独立,但不起作用。如果我的输入是50或更少,它会说“抱歉,没有足够的钱”。但奇怪的是,从100以后,它还将这些金额记录为“抱歉,这还不够钱”。我已经尝试了很多东西,我无法让它工作!我错过了什么?谢谢!

money_amount = input("Type your amount with no quotations.")

if money_amount <= "50":
    print ("Sorry, that is not enough money.")
    quit()

else:
    print ("Yay!")

3 个答案:

答案 0 :(得分:0)

正如@Brad所罗门建议的那样,在进行合理的数学比较之前,需要将值转换为数字(整数)。

所以这是一个简单的解决方案:

money_amount = input("Type your amount with no quotations.")
money_amount = int(money_amount)

if money_amount <= 50:
    print ("Sorry, that is not enough money.")
    quit()

else:
    print ("Yay!")

答案 1 :(得分:0)

您无法比较字符串和整数,并期望获得良好的结果。您应该使用int()将整数输入转换为。

money_amount = int(input("Type your amount with no quotations."))

if money_amount <= 50:
    print ("Sorry, that is not enough money.")
    quit()

else:
    print ("Yay!")

通过这种方式,您可以将字符串转换为数字以进行比较。来自输入的"50"将转换为50

此外,您无法使用字符串进行数学运算(&lt; =)。因此,if money_amount <= "50":应更改为if money_amount <= 50:(从字符串更改为整数),这样您就可以比较这两个数字。

答案 2 :(得分:0)

或者你可以尝试这个:

money_amount = int(raw_input("Type your amount with no quotations."))
if money_amount <= 50:
     print ("Sorry, that is not enough money.")
     quit()
else:
     print ("Yay!")