递归:
1在函数内部调用自身就是递归函数,在外层开始执行第二层,第三层,第四层》...
2规模相比上次递归都应该有所减少
3必须有一个明确的结束条件,否则会陷入死循环
4递归最多层次999,递归效率不高层次过多会导致栈溢出
本质:自己调用自己
只要能写成递归的 都可以写成循环
#示例:
def aaa(n):
print(n)
if n//2>0:
return aaa(n//2)
aaa(10)
#递归的方法写斐波那契数列:
# 1,1,2,3,5,8,13
c = 0
def fbnc(n):
global c
c += 1
if n == 0 or n == 1:
return 1
else:
return fbnc(n - 1) + fbnc(n - 2)
print(fbnc(6))
print(c)