函数递归
函数递归指的是重复直接或间接调用函数本身,这是一种函数嵌套调用的表现形式
直接调用:指的是在函数内置直接调用函数本身
间接调用:两个函数之间相互调用,间接造成递归
PS:单纯递归调用是没有任何意义的,要想递归有意义,必须遵循两个条件
回溯:指的是重复的执行,每一次执行都会拿到一个更接近结果的结果,回溯必须要有一个终止条件
递推:当回溯找到终止条件后,开始一步步往上递推
# 猜年龄,一共10个人,每个都比前一个大两岁,第一个18岁,求最后一个人的年龄
def age(n):
if n ==1:
return 18 # 终止条件
return age(n-1) +2 # 递推
res = age(10)
print(res) # 36