python 递归函数

递归函数

<1>什么是递归函数

通过前面的学习知道一个函数可以调用其他函数。

在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。

<2>递归函数的作用

举个例子,我们来计算阶乘 n! = 1 * 2 * 3 * ... * n

解决办法1:

'''

n=4

result=1

i=1

while i<=4:

result=result*i

i+=1

print(result)

'''

#1在函数的内部调用自己本身

#2递归函数本质是一个方法的循环调用,注意:有可能出现死循环

#3一定要定义递归的边界(什么时候退出循环)

def test1(n):#定义函数就是计算数字n的阶乘

if n==1:

return 1

return n * test1(n-1)

print(test1(5))

python 递归函数

看阶乘的规律

1! = 1

2! = 2 × 1 = 2 × 1!

3! = 3 × 2 × 1 = 3 × 2!

4! = 4 × 3 × 2 × 1 = 4 × 3! ... n! = n × (n-1)!

解决办法2:

python 递归函数

递归函数案例:

斐波拉契数列,该数列中有n个数字。

1 1 2 3 5 8

该数列中,从第三个数字开始:数值 =前一个数字 + 前面一个数字

(n-1) + (n-2)

def get_num(n):#获取斐波拉契数列中第n个数字的值

if n==1 or n==2:

return 1

return get_num(n-1) + get_num(n-2)

#把获取的斐波拉契数字存放到列表中

nums=[]

for i in range(1,21):

nums.append(get_num(i))#get_num获得一个斐波拉契数字

print(nums)


鲜花

握手

雷人

路过

鸡蛋
用心服务创业者
0851-88611148
周一至周五 9:00-18:00
意见反馈:admin@0851life.com

扫一扫关注我们

Powered by 童码少儿编程 X3.4© 2001-2013 0851life Inc.|网站地图