我的代码:
total=tef+tpf-price
我有这个错误:
total=tef+tpf-price
unsupported operand type(s) for -: 'float' and 'str'
我如何解决它?
而不是这个
total=tef+tpf-price
试试这个,希望对你有帮助
total=float(tef)+float(float)tpf-float(price)
我认为您可能会接受用户的price
输入,例如:
price = raw_input('--> ') // Python 2.x
或者
price = input('--> ') // Python 3.x
所以你可能想在使用它之前做一些验证。
您可以price
从字符串转换为浮动float(price)
。
可能发生错误的唯一方法是 ifprice
是一个字符串。将价格设为浮点数或整数(取决于您想要什么)来解决问题。
要么:
tef=float(price)*5/100.0
或这个:
tef=int(price)*5/100.0
请注意,在 Python 中,要在两个对象之间执行操作,这些对象必须是相同的类型(并且当然支持该操作)。
一种简单的修复方法是:
tef=float(price)*5/100.0