Python TypeError: unsupported operand type(s) for /: 'str' and 'float'

前端 未结 4 1350
再見小時候
再見小時候 2020-12-18 16:50

My code:

total=tef+tpf-price

I\'ve got this error:

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


        
相关标签:
4条回答
  • 2020-12-18 17:31

    Instead of this

    total=tef+tpf-price
    

    Try this, I hope this will help you

    total=float(tef)+float(float)tpf-float(price)
    
    0 讨论(0)
  • 2020-12-18 17:37

    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).

    0 讨论(0)
  • 2020-12-18 17:38

    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).

    0 讨论(0)
  • 2020-12-18 17:41

    One simple way to fix it is:

    tef=float(price)*5/100.0
    
    0 讨论(0)
提交回复
热议问题