本文介绍了类型错误:不支持 - 的操作数类型:“str"和“int"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我怎么会收到这个错误?
How come I'm getting this error?
我的代码:
def cat_n_times(s, n):
while s != 0:
print(n)
s = s - 1
text = input("What would you like the computer to repeat back to you: ")
num = input("How many times: ")
cat_n_times(num, text)
错误:
TypeError: unsupported operand type(s) for -: 'str' and 'int'
推荐答案
失败的原因是 (Python 3)
input
返回一个字符串.要将其转换为整数,请使用int(some_string)
.
The reason this is failing is because (Python 3)
input
returns a string. To convert it to an integer, useint(some_string)
.
您通常不会在 Python 中手动跟踪索引.实现这种功能的更好方法是
You do not typically keep track of indices manually in Python. A better way to implement such a function would be
def cat_n_times(s, n):
for i in range(n):
print(s)
text = input("What would you like the computer to repeat back to you: ")
num = int(input("How many times: ")) # Convert to an int immediately.
cat_n_times(text, num)
我稍微更改了您的 API.在我看来,n
应该是 次数,而 s
应该是 string.
I changed your API above a bit. It seems to me that n
should be the number of times and s
should be the string.
这篇关于类型错误:不支持 - 的操作数类型:“str"和“int"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!