python中递归函数的使用

眉间皱痕 提交于 2020-02-03 18:07:11

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]
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!