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