递归函数

1.实现5! = 5*4*3*2*1

没有学递归函数之前我使用之前学习的while循环,实现阶乘

1 def func(n):
2     sum = 1
3     while n > 1 :
4          sum = sum * n
5          n -=1
6     print(sum)
7 func(7)

学习递归函数之后,实现阶乘

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

2.递归实现斐波那契数列(Fibonacci)

 

1 def func(x):
2    if x == 0 or x == 1:
3        return x
4   
5    return func(x-1)+func(x-2)
6 
7 print(func(5))

 

 

3.关于递归的特点:

1.调用自身函数

2.有一个结束条件

3.但凡是递归可以写的 循环都可以解决,建议慎用

 

posted @ 2017-12-29 17:00  秦艳莉  阅读(128)  评论(0)    收藏  举报