Python 递归函数

九七博客
2021-11-08 / 0 评论 / 19 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年11月08日,已超过31天没有更新,若内容或图片失效,请留言反馈。

python递归函数学习

在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。


递归函数特性:

  • 必须有一个明确的结束条件;
  • 每次进入更深一层递归时,问题规模相比上次递归都应有所减少
  • 相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入)。
  • 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

事例

阶乘计算

def factorial(n):
    '''阶乘计算'''
    if n==1:            #基线条件 n==1时返回1
        return 1
    else:                           #递归条件
        return n*factorial(n-1)          #5*4*3*2*1

ret = factorial(5)
print(ret)

以下这篇文章不错,很好理解,大家可以看看
https://blog.csdn.net/qq_41239584/article/details/82253771

本文共 270 个字数,平均阅读时长 ≈ 1分钟
0

打赏

海报

正在生成.....

评论 (0)

取消