您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

带有递归调用的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
python 2022/1/1 18:48:16 有355人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶