递归:不断地调用自身,用函数实现
死递归(死循环):
def func(): print(1) func() func()
知识点:官方说明最大深度1000,但实际执行998或997以下,看电脑性能
满足两个条件才是递归
- 不断调用自身
- 有明确的终止条件
举例:以计算年龄为例
def age(n): if n == 1: return 18 else: return age(n-1)+2 print(age(3)) #3代表执行三次
拆解:
![image-20190627140416004](C:\Users\heyul\Desktop\image-20190627140416004.pngdef age1(n): if n == 1: return 18 else: return age2(n-1)+2 def age2(n): if n == 1: return 18 else: return age3(n - 1) + 2 def age3(n): if n == 1: return 18 print(age1(3)) 流程图: 图中红色箭头是递的过程,蓝色箭头是归的过程