Python中的递归

调用自身的函数是递归函数。当某个问题根据其本身来定义时,使用这种方法。虽然这涉及到迭代,但是使用迭代的方法来解决这样的问题可能是乏味的。递归方法为一个看似复杂的问题提供了一个非常简洁的解决方案。它看起来很迷人,但可能很难理解!

递归最常见的例子是阶乘的计算。数学上阶乘定义为:n!= n * (n-1)!

我们使用阶乘本身来定义阶乘。因此,这是编写递归函数的合适情况。让我们扩展上面的定义,计算阶乘值 5。

5! = 5 X 4!
     5 X4 X 3!
     5 X4 X 3 X 2!
     5 X4 X 3 X  2 X 1!
     5 X4 X 3 X  2 X 1
   = 120 

虽然我们可以使用一个循环来执行这个计算,但是它的递归函数涉及到通过递减数字来连续调用它,直到它达到 1。下面是计算阶乘的递归函数。

Example: Recursive Function

def factorial(n):    
    if n == 1:
        print(n)
        return 1    
    else:
        print (n,'*', end=' ')
        return n * factorial(n-1) 

上面的递归函数可以如下调用。

>>> factorial(5)
5 * 4 * 3 * 2 * 1
120

当以 5 作为参数调用阶乘函数时,会连续调用同一个函数,同时减少 5 的值。在参数达到 1 后,函数开始返回到它们先前的调用。第一次调用的返回值是所有调用的返回值的累积乘积。*

网页标题:Python中的递归
当前地址:http://www.shufengxianlan.com/qtweb/news48/380498.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联