为什么我得到的错误是不能用“float”PYTHON类型的nonint乘以sequence

2024-06-02 06:19:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一个简单的程序来计算一些电器部件的税,它是这样的:

print "How much does it cost?",    
price = raw_input()    
print "Tax: %s" % (price * 0.25)    
print "Price including tax: %s" % (price * 1.25)    
raw_input ("Press ENTER to exit")

我一直在犯这样的错误:

Traceback (most recent call last):
  File "moms.py", line 3, in <module>
    print "Tax: %s" % (price * 0.25)
TypeError: can't multiply sequence by non-int of type 'float'

Tags: 程序inputraw部件itpricehowtax
3条回答

首先需要将raw_input()返回的字符串转换为float

price = float(raw_input("How much does it cost?")) # no need for extra print 

基本上你不能用一个浮点数乘一个字符串,也许你想要的是

price = float(raw_input())

这意味着price不是一个数字。实际上,它是一个字符串,因为raw_input返回的就是这个字符串。您需要使用float来解析它,或者使用input而不是raw_input。你知道吗

相关问题 更多 >