python - 类型错误 : unsupported operand type(s) for -: 'str' and 'int'

标签 python python-3.x

我怎么会收到这个错误?

我的代码:

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'

最佳答案

  1. 失败的原因是(Python 3)input 返回一个字符串。要将其转换为整数,请使用 int(some_string)

  2. 您通常不会在 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)
    
  3. 我在上面修改了你的 API。在我看来,n 应该是 number of timess 应该是 string

关于python - 类型错误 : unsupported operand type(s) for -: 'str' and 'int' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2376464/

相关文章:

python - 我需要连接两个维度相同但形状不同的向量

Python:Pandas 在将字典传递给 resample() 后显示 NaN

python - 如何在同一客户端上处理两个版本的Python?

c# - .Net : Running an embedded interpreter 的 Python

python - Xlsxwriter Python3 错误

python - 防止Python日志库的双重输出

python - 我怎样才能增加一个字符?

python - 如何修改Python日志记录工具的行为?

python - 类型 - 函数返回值类型与表达式的类型相同

python - 根据列值返回SQL Server列名和对应的值