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

旧时模样 提交于 2019-11-26 06:47:10

问题


name = input(\'Enter name here:\')
pyc = input(\'enter pyc :\')
tpy = input(\'enter tpy:\')
percent = (pyc / tpy) * 100;
print (percent)
input(\'press enter to quit\')

whenever i run this program i get this

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

what can i do to divide pyc by tpy?


回答1:


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




回答2:


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



回答3:


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


来源:https://stackoverflow.com/questions/15235703/typeerror-unsupported-operand-types-for-str-and-str

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!