Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError:/:';str';和';浮动';_Python_Typeerror - Fatal编程技术网

Python TypeError:/:';str';和';浮动';

Python TypeError:/:';str';和';浮动';,python,typeerror,Python,Typeerror,我的代码: total=tef+tpf-price 我有一个错误: total=tef+tpf-price unsupported operand type(s) for -: 'float' and 'str' 如何修复它?发生错误的唯一方法是如果price是字符串。将price设置为浮点或整数(取决于您想要什么)以解决问题 或者: tef=float(price)*5/100.0 或者这个: tef=int(price)*5/100.0 请注意,在Python中,要在两个对象之间

我的代码:

total=tef+tpf-price
我有一个错误:

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

如何修复它?

发生错误的唯一方法是如果
price
是字符串。将price设置为浮点或整数(取决于您想要什么)以解决问题

或者:

tef=float(price)*5/100.0
或者这个:

tef=int(price)*5/100.0

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

一种简单的修复方法是:

tef=float(price)*5/100.0

我想您可能会接受用户的
价格
输入,比如:

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

因此,在使用它之前,您可能需要进行一些验证

您可以通过
float(price)

price
从字符串转换为浮点

total=tef+tpf-price
试试这个,我希望这对你有帮助

total=float(tef)+float(float)tpf-float(price)

编辑了这个问题,我该如何解决这个问题?@user2899653-您必须确保所有这些变量都是同一类型的。最有可能的是,这将意味着让它们都浮动。你能帮我吗?@user2899653-好吧,我不知道你的代码,所以我能做的最好的是:
total=float(tef)+float(tpf)-float(price)
。编辑了问题,我如何解决这个问题?编辑了问题,我该如何解决这个问题?你需要把所有的事情都抛到一边。你能帮我做吗?这个问题看起来和原来的问题完全不同。请把它改回去,然后开始一个新问题。
total=float(tef)+float(float)tpf-float(price)