递归代码未按预期工作python3

2024-03-29 06:00:21 发布

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

我是一个编程初学者,在这种情况下,我无法理解为什么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: 函数代码def编程错误arg情况do
3条回答

n-1作为参数传递给递归调用可以解决这个问题。你知道吗

在第6行的递归调用中,您应该传递print(do\n(arg,n-1))。你知道吗

递归不是循环!你知道吗

您应该n - 1传递给递归调用,而不仅仅是n,而不是从调用之后的n中减去一个。你知道吗

相关问题 更多 >