欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

python递归函数

程序员文章站 2022-03-31 11:41:57
...
函数就像一个盒子,将相关的一些功能打包成一个函数,以供调用。函数内部可以调用其他函数,也可以调用这个函数自身。
如果一个函数在内部调用函数自身,那么这个就是递归函数。
我们举一个简单的例子。
数学中我们知道100的阶乘,100!=1009998...321.
分解开来,100!=10099!,99!=9998!,98!=98*97!...
那么我们定义一个函数来计算阶乘:
def fact(n):
    return n*fact(n-1)

上面这个函数看起来是一个数字不断地跟与它小1的数相乘,却没有停止的时候。所以我们必须对上述函数进行改造,让它能在n=1的时候,计算完就停下来。

def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)

递归函数也可以用循环的方式实现。但是递归函数逻辑较为简单。但是在使用递归函数的时候,要注意防止递归函数调用过多导致栈溢出。

相关标签: python