我正在键入一个销售金额(按输入)乘以定义的销售税(0.08),然后让它打印总金额(销售税乘以销售金额)。
我遇到了这个错误。有人知道会出什么问题或者有什么建议吗?
salesAmount = raw_input (["Insert sale amount here \n"])
['Insert sale amount here \n']20.99
>>> salesTax = 0.08
>>> totalAmount = salesAmount * salesTax
Traceback (most recent call last):
File "<pyshell#57>", line 1, in <module>
totalAmount = salesAmount * salesTax
TypeError: can't multiply sequence by non-int of type 'float'
也许这会帮助其他人在未来-我有同样的错误,而试图多重一个浮点数和一个浮点数列表。问题是这里的每个人都在讨论如何将一个float与一个字符串相乘(但这里我的所有元素都是float),所以问题实际上是在一个列表上使用*运算符。
例如:
错误:
解决方案-将列表转换为numpy数组:
raw_input
返回一个字符串(一个字符序列)。在Python中,乘一个字符串和一个浮点数没有定义的意义(乘一个字符串和一个整数有一个意义:"AB" * 3
是"ABABAB"
;多少是"L" * 3.14
?请不要回复"LLL|"
)。您需要将字符串解析为数值。您可能想尝试:
问题是salesAmount被设置为字符串。如果在python解释器中输入变量并按enter键,将看到输入的值被引号包围。例如,如果输入56.95,您将看到:
在乘以销售税之前,您需要将字符串转换为浮点数。我把这个留给你去弄清楚。祝你好运!
相关问题 更多 >
编程相关推荐