类型错误:不支持的操作数类型:'str' 和 'str
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'
我该怎么做才能把pyc除以tpy呢?
5 个回答
4
还有一个错误,就是关于正斜杠的问题。
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']
19
你首先要学会看错误信息。它告诉你什么呢?比如说,你不能用除法运算符去处理两个字符串。
所以,你要问自己,为什么它们是字符串?怎么才能让它们变成不是字符串的东西?它们之所以是字符串,是因为所有输入都是以字符串的形式进行的。而要把它们变成不是字符串的东西,就需要进行转换。
将字符串转换为整数的一种方法是使用 int 函数。举个例子:
percent = (int(pyc) / int(tpy)) * 100
35
通过把它们变成整数来解决问题:
percent = (int(pyc) / int(tpy)) * 100;
在Python 3中,input()
这个函数总是返回一个字符串。也就是说,不管你输入什么,它都会把你输入的内容当作文本来处理。这和Python 2不一样;在Python 2中,有个叫raw_input()
的函数,它的功能和现在的input()
是一样的,只不过名字换了。