类型错误:不支持-:“str”和“int”的操作数类型

2024-03-29 14:53:37 发布

您现在位置:Python中文网/ 问答频道 /正文

python和编程新手我怎么会得到这个错误?

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)

Tags: totextyouinputdef编程错误what
2条回答
  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应该是的次数,而s应该是的字符串

作为将来的参考,Python是strongly typed。与其他动态语言不同,它不会自动从一种类型或另一种类型(例如从strint)转换对象,因此您必须自己执行此操作。从长远来看你会喜欢的,相信我!

相关问题 更多 >