TypeError: unsupported operand type(s) for -: #39;str#39; and #39;int#39;(TypeError: 不支持的操作数类型 -: 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)
inputreturns 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 应该是 number of times 而 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.
这篇关于TypeError: 不支持的操作数类型 -: 'str' 和 'int'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:TypeError: 不支持的操作数类型 -: 'str' 和 'int'
基础教程推荐
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
