Python实现递归算法怎么做?Python递归算法如何理解

递归算法是计算机编程领域之中很常见且使用频率非常高的一个算法,它能够用来计算一些需要层层递进或者不断重复执行才能够得到的值 。下面就会以实际的代码示例来给大家讲解一下,python递归算法的实现方法以及它是如何去理解的,往下看看吧 。

Python实现递归算法怎么做?Python递归算法如何理解

文章插图
python实现递归算法最简单的方式就是求阶乘了,阶乘指的就是给定一个数,用小于等于它的所有整数相乘从而得到该数的阶乘,代码如下所示:
【Python实现递归算法怎么做?Python递归算法如何理解】def fact(n):    if n==1:        return n    n = n*fact(n-1)    return nprint(factorial(5))在上面的代码示例之中可以看到,当传进来n值为1时就直接将其返回结束函数,因为自然数1的阶乘永远为1 。以上代码之中的关键点为”n = n*fact(n-1)”这行代码,这行代码就是在函数中又去调用了函数本身,这就是递归算法 。
那么现在将整个函数拆解开来看,调用函数时传递进去了一个值整数5 。求阶乘是要用小于等于它的所有整数相乘,那么在函数执行时,第一次是用5去乘以了该函数参数减一得到4的结果 。然后返回之后的n就变成了4,同时递归算法又会迭代函数直到它的参数不满足函数中的if条件判断,也就是n为1时跳出函数 。
而在这个时候整个函数实际上以及去迭代了五次,在这五次之中可以看做是外层函数fact被代码块内的函数调用了,所以它的参数n值才会随着变化 。
以上就是关于“Python实现递归算法怎么做?Python递归算法如何理解”的全部内容了,希望对你有所帮助 。

    推荐阅读