0

我的代码:

total=tef+tpf-price

我有这个错误:

  total=tef+tpf-price
unsupported operand type(s) for -: 'float' and 'str'

我如何解决它?

4

4 回答 4

8

而不是这个

total=tef+tpf-price

试试这个,希望对你有帮助

total=float(tef)+float(float)tpf-float(price)
于 2017-05-28T13:59:35.193 回答
2

我认为您可能会接受用户的price输入,例如:

price = raw_input('--> ')    // Python 2.x

或者

price = input('--> ')        // Python 3.x

所以你可能想在使用它之前做一些验证。

您可以price从字符串转换为浮动float(price)

于 2013-10-20T16:56:32.027 回答
0

可能发生错误的唯一方法是 ifprice是一个字符串。将价格设为浮点数或整数(取决于您想要什么)来解决问题。

要么:

tef=float(price)*5/100.0

或这个:

tef=int(price)*5/100.0

请注意,在 Python 中,要在两个对象之间执行操作,这些对象必须是相同的类型(并且当然支持该操作)。

于 2013-10-20T16:49:18.813 回答
0

一种简单的修复方法是:

tef=float(price)*5/100.0
于 2013-10-20T16:49:50.373 回答