python中的递归函数

Posted while True:just do it

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的递归函数相关的知识,希望对你有一定的参考价值。

递归的定义:

  在函数内部直接或者间接调用函数本身

递归的应用:

△求一个数的阶乘

1 def jiecheng(n):
2     if n == 1:
3         return 1
4     else:
5         return n*jiecheng(n-1)
6 print(jiecheng(4))

△求第几个斐波那契数

1 def f(n):
2     if n == 2:
3         return 1
4     elif n ==1:
5         return 1
6     else:
7         return f(n-1)+f(n-2)
8 print(f(33))

△二分法查找

 1 l = [1,3,5,6,11,13,15,17,21,32,36,52,56,58,66,77,88,99]
 2 def find(l,n,start=0,end=None):
 3     end = len(l) if end is None else end
 4     mid_index = (end-start)//2 + start
 5     if start>=end:
 6         return 找不到
 7     else:
 8         if n>l[mid_index]:
 9             return find(l,n,mid_index+1,end)
10         elif n<l[mid_index]:
11             return find(l,n,start,mid_index-1)
12         else:return mid_index
13 
14 res = find(l,17)
15 print(res)

 

以上是关于python中的递归函数的主要内容,如果未能解决你的问题,请参考以下文章

我在 laravel 中的递归函数不调用自己

06python 中的递归函数(python函数)

python中的函数以及递归

如何在自定义 PyYAML 构造函数中处理递归?

python中的函数递归和迭代问题

将递归函数分配给python中的变量