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

后端 未结 4 1648
说谎
说谎 2020-11-27 21:44
name = input(\'Enter name here:\')
pyc = input(\'enter pyc :\')
tpy = input(\'enter tpy:\')
percent = (pyc / tpy) * 100;
print (percent)
input(\'press enter to quit\         


        
相关标签:
4条回答
  • 2020-11-27 22:10

    I would have written:

    percent = 100
    while True:
         try:
            pyc = int(input('enter pyc :'))
            tpy = int(input('enter tpy:'))
            percent = (pyc / tpy) * percent
            break
         except ZeroDivisionError as detail:
            print 'Handling run-time error:', detail
    
    0 讨论(0)
  • 2020-11-27 22:18

    By turning them into integers instead:

    percent = (int(pyc) / int(tpy)) * 100;
    

    In python 3, the input() function returns a string. Always. This is a change from Python 2; the raw_input() function was renamed to input().

    0 讨论(0)
  • 2020-11-27 22:26

    The first thing you should do is learn to read error messages. What does it tell you -- that you can't use two strings with the divide operator.

    So, ask yourself why they are strings and how do you make them not-strings. They are strings because all input is done via strings. And the way to make then not-strings is to convert them.

    One way to convert a string to an integer is to use the int function. For example:

    percent = (int(pyc) / int(tpy)) * 100
    
    0 讨论(0)
  • 2020-11-27 22:31

    There is another error with the forwars=d slash.

    if we get this : def get_x(r): return path/'train'/r['fname']
    is the same as def get_x(r): return path + 'train' + r['fname']
    
    0 讨论(0)
提交回复
热议问题