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)