TypeError:/:'str'和'str'的不支持的操作数类型

时间:2013-03-05 22:52:41

标签: python typeerror operand

name = input('Enter name here:')
pyc = input('enter pyc :')
tpy = input('enter tpy:')
percent = (pyc / tpy) * 100;
print (percent)
input('press enter to quit')
每当我运行这个程序时,我都会得到这个

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

我可以用tpy来划分pyc?

4 个答案:

答案 0 :(得分:12)

将它们变成整数:

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

在python 3中,input()函数返回一个字符串。总是。这是Python 2的变化; raw_input()函数已重命名为input()

答案 1 :(得分:6)

您应该做的第一件事是学会阅读错误消息。它告诉你什么 - 你不能使用除法运算符两个字符串。

所以,问问自己为什么它们是字符串,你如何使它们不是字符串。它们是字符串,因为所有输入都是通过字符串完成然后制作非字符串的方法是转换它们。

将字符串转换为整数的一种方法是使用int函数。例如:

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

答案 2 :(得分:1)

forwars = d斜杠还有另一个错误。

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']

答案 3 :(得分:0)

我会写:

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