程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

轻松掌握Python函数递归和调用

hfteth 2025-05-23 17:19:01 技术文章 2 ℃

要使用递归函数,我们先弄明白函数递归是啥,有啥作用?

了解知道了以后,我们才能用起来,去调用,不能我们使用不起来,因为不知道为什么,也不知道有啥意义,用也是乱用。

现在,我想用python代码实现一个数的阶乘,如何实现呢?

首先我们先定义一个函数,用实现阶乘来讲,当然不是所有编程都要用,很多不适合、不需要递归的我们也没必要用起来。

def fun1(n):

if n == 0: # 条件

return 1 #返回1,你输入1,结果是1 不能再调用了 ,不能就是0,就是BUG了

else: # 递归条件

return n * fun1(n - 1)#条件满足,就递归

print(fun1(5)) # 调用函数 输出 120

它是怎么运算的呢?

def fun1(n):

if n == 0: # 条件

return 1

else: # 递归条件

print(n)#我们提前打印看下变化

return n * fun1(n - 1)#条件满足,就递归

print(fun1(5)) # 调用函数 输出 120


调用 的适合每次本身*(它自己-1)然后保存下来,当n减到0 就不算了0!=1。

逻辑如下:

fun1(5) → 5 * fun1(5-1)

fun1(4) → 4* fun1(4-1)

fun1(3) → 3* fun1(3-1)

.....

fun1(0) → 1

我们来看看斐波那契数列这个实现

def 斐波那契数列(n):#斐波那契数列()函数,你们最好用好多命名,这里为了方便看懂

if n <= 1: # 条件

return n

else: # 递归条件

return 斐波那契数列(n-1) + 斐波那契数列(n-2)

print(斐波那契数列(10)) # 输出 55

根据实际需要确定是不是需要递归,如果调用它自己能实现我们的实现编程目的,就用。否则就不需要了。

最近发表
标签列表