带有递归调用的return语句如何在Python中保存中间值?

带有递归调用的return语句如何在Python中保存中间值?,第1张

带有递归调用的return语句如何在Python中保存中间值?

该函数将值返回到调用堆栈中较高的调用,为什么您认为它需要一个变量,例如进行简单的递归调用:

def r(n):    if n == 0:         return 0    return 1 + r(n-1)

然后,调用堆栈将如下所示:

r(3):    return 1 + r(2)    r(2):        return 1 + r(1)        r(1): return 1 + r(0) r(0):     return 0

因此,当展开调用堆栈时,您将得到:

r(3):    return 1 + r(2)    r(2):        return 1 + r(1)        r(1): return 1 + 0--r(3):    return 1 + r(2)    r(2):        return 1 + 1--r(3):    return 1 + 2--3


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5663608.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存