python中的递归函数

时间:2022-05-08
本文章向大家介绍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)