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.但凡是递归可以写的 循环都可以解决,建议慎用