python 递归

函数内部调用自己本身,这个函数就是递归函数。

递归一般是用来解决一些复杂的数学问题,比如,斐波那契数列。

举个简单的例子,计算阶乘 n! = n * (n - 1)!

def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n-1)

这个就是一个简单得递归调用得例子,下面我们看一下显示结果。

>>> factorial(5)
120
>>> factorial(20)
2432902008176640000

下面我们来探讨一下函数得计算过程,我们倒着往前推:
5 *4 *3 *2
4 *3 *2
3 *2
2 1
首先它会计算最底层得结果,也就是1,此时factorial(n-1)=1,然后返回2
1得结果,此时factorial(n-1)=2,以此类推...

这个就是递归得简单应用。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我们来计...
    xupython阅读 1,810评论 0 0
  • 说起递归,我觉得其实大部分人应该是不陌生的,递归广泛存在于生活中。比如: The woman in this im...
    Sharku阅读 11,161评论 0 9
  • 第八章 递归(recursion) 8.1 导语 因为一些指导者倾向于先教递归作为第一个主要的控制结构,本章会以另...
    geoeee阅读 5,331评论 0 5
  • 题目: 计算阶乘n!=n*(n-1)*(n-2)*…3*2*1 用递归函数来表示为: def f(x): if ...
    kevin282阅读 6,684评论 0 2
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,872评论 0 4

友情链接更多精彩内容