我是一个编程初学者,在这种情况下,我无法理解为什么Python代码不能像预期的那样工作。你知道吗
我试图通过调用函数中的一个函数来使用递归;调用函数n次,并在每个循环停止时将n减少1到0。你知道吗
相反,我的代码只打印一次'freak',然后我得到一个'maximum recursion depth'错误消息。你知道吗
def print_m():
print ('freak')
def do_n(arg, n)):
if n >= 0:
print (do_n(arg,n))
n = n - 1
Tags:
将
n-1
作为参数传递给递归调用可以解决这个问题。你知道吗在第6行的递归调用中,您应该传递print(do\n(arg,n-1))。你知道吗
递归不是循环!你知道吗
您应该将
n - 1
传递给递归调用,而不仅仅是n
,而不是从调用之后的n
中减去一个。你知道吗相关问题 更多 >
编程相关推荐