python中递归函数的使用
递归函数就是自己调用自己的函数,递归函数使用过程中应注意调用深度,否则计算机无法承受。
1.使用递归函数实现计算某个数的阶乘。
def fact(n):
if n==1:
return 1
return n*fact(n-1)
print(fact(n))
其中n为某个数。
1.2用递归函数来实现获取斐波拉契数列中的第n个数字的值。
斐波拉契数列特点:从第三个数开始,后一个数等于前面两个数之和。
初始方法:
a=0
b=1
while a<1000:
print(b)
a,b=b,a+b
输出结果:
1
1
2
3
5
8
13
21
34
55
89
144
233
进阶方法:
def func(n):
if n==1 or n==2:
return 1
else:
return func(n-1)+func(n-2)
res=func(20)
print(res)
输出结果:
6765
或者:
list=[]
for i in range(20):
if i==0 or i==1:
list.append(1)
else:
list.append(list[i-2]+list[i-1])
print(list)
输出结果:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]