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)
答案 0 :(得分:43)
失败的原因是因为(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
应该是次而s
应该是字符串。
答案 1 :(得分:23)
为了将来参考,Python是strongly typed。与其他动态语言不同,它不会自动从一种类型或另一种类型(例如从str
到int
)转换对象,因此您必须自己执行此操作。从长远来看,你会喜欢的,相信我!