递归函数的定义:
- 函数直接或间接调用自身就是递归
- 递归函数需要有边界、递归前进段、递归返回段
- 递归一定要有边界条件
- 当边界不满足的时候,递归前进
- 当边界条件满足的时候,递归返回
斐波那契数列【用递归来实现】
用for循环来看是怎么写的:
per = 0 cur = 1 print(per,cur,end=" ") n = 4 for i in range(n-1): per,cur= cur ,per + cur print(cur,end=" ") 结果: 0 1 1 2 3
用递归怎么来写
斐波那契公式:F(0)=0 ,F(1)=1 , F(n)=F(n-1)+F(n-2)def fib(n): return 1 if n < 2 else fib(n-1)+fib(n-2) for i in range(4): print(fib(i),end=" ") 结果: 1 1 2 3 5
递归是有最大递归深度的一单超过这个深度,系统就会抛出错误
def fool(b,b1=3): fool(b1) fool(3) 结果: [Previous line repeated 996 more times] RecursionError: maximum recursion dept