先看程序:

刚学习Python的小伙伴一般的写递归都是这样写 运行一下看看: 是不是出错了啊,为什么呢? 怎么会出错了呢? Python3 默认的递归深度是1000 Python3 的递归调用栈的深度有限制, 可以通过sys.getrecursionlimit()查看

如果没有就会无限的循环下去了

编写递归函数时,必须告诉它何时停止递归。正因为如此,每个递归函数都有两部分:基线 条件(base case)和递归条件(recursive case)。递归条件指的是函数调用自己,而基线条件则 指的是函数不再调用自己,从而避免形成无限循环。

现在修改一下啊: 输出结果是:

怎么样 ,递归算法是不是很简单呢? 主要记住两个条件: 基线条件 递归条件 是不是很容易啊 源码地址:https://www.168seo.cn/data-structure/24293.html