我怎么会收到这个错误?
我的代码:
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)
。您通常不会在 Python 中手动跟踪索引。实现这种功能的更好方法是
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
应该是 number of times 而s
应该是 string。
关于python - 类型错误 : unsupported operand type(s) for -: 'str' and 'int' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2376464/