Python TypeError: unsupported operand type(s) for

2020-03-08 07:18发布

My code:

total=tef+tpf-price

I've got this error:

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

How do I fix it?

4条回答
家丑人穷心不美
2楼-- · 2020-03-08 07:28

One simple way to fix it is:

tef=float(price)*5/100.0
查看更多
倾城 Initia
3楼-- · 2020-03-08 07:42

Instead of this

total=tef+tpf-price

Try this, I hope this will help you

total=float(tef)+float(float)tpf-float(price)
查看更多
走好不送
4楼-- · 2020-03-08 07:48

The only way that error could occur is if price is a string. Make price a float or an integer (depending on what you want) to fix the problem.

Either this:

tef=float(price)*5/100.0

or this:

tef=int(price)*5/100.0

Notice that, in Python, to preform an operation between two objects, those object must be of the same type (and support the operation of course).

查看更多
SAY GOODBYE
5楼-- · 2020-03-08 07:54

I think you might take user's price input, like:

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

or

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

So you might want to do some validation before using it.

You could cast price from string to float by float(price).

查看更多
登录 后发表回答