Python转换错误

Python转换错误,python,python-3.x,Python,Python 3.x,我正在尝试编写一个程序,该程序将打印折扣后的总价。如果支付的价格超过100,它将取消20%。在程序结束时,我收到以下错误: if paid>=100: TypeError: unorderable types: str() >= int() 这是我的密码: paid=input('How much did you pay? ') if paid>=100: actualPay=100*1.25 #20% off total, 100/0.80 = 1.25

我正在尝试编写一个程序,该程序将打印折扣后的总价。如果支付的价格
超过
100
,它将取消
20%
。在程序结束时,我收到以下错误:

if paid>=100:
    TypeError: unorderable types: str() >= int()
这是我的密码:

paid=input('How much did you pay? ')
if paid>=100:
    actualPay=100*1.25 #20% off total, 100/0.80 = 1.25
    print(actualPay)

输入
转换为
int

paid=int(input('How much did you pay? '))
始终返回字符串。您需要显式地强制转换它

例:

更好的方法是使用
try
块,但不使用

try:
    paid=int(input('How much did you pay? '))
    if paid>=100:
        actualPay=100*1.25
        print(actualPay)    
except TypeError:
        print "Please enter a valid input."

输入
转换为
int

paid=int(input('How much did you pay? '))
始终返回字符串。您需要显式地强制转换它

例:

更好的方法是使用
try
块,但不使用

try:
    paid=int(input('How much did you pay? '))
    if paid>=100:
        actualPay=100*1.25
        print(actualPay)    
except TypeError:
        print "Please enter a valid input."

谢谢我不知道我是怎么漏掉的。输入并不总是返回字符串。输入相当于eval(原始输入(提示))。可能无法将输入转换为整数。@RobertJacobs可能您正在使用Python2。OP正在使用Py3:)。检查python3
input
function的链接谢谢!我不知道我是怎么漏掉的。输入并不总是返回字符串。输入相当于eval(原始输入(提示))。可能无法将输入转换为整数。@RobertJacobs可能您正在使用Python2。OP正在使用Py3:)。检查python3
输入功能的链接