递归常被用来描述以自相似的方法重复事物的过程,在程序中指的是在函数定义中使用函数自身的方法。
递归是一个树结构,分为递推和回归的过程,当递推到达底部时,就会开始回归。
问题描述:A比B大两岁,B比C大两岁,C的年龄为18,求A的年龄?
代码实现:
def age(n):
if n == 1:
return 18
else:
return age(n-1) + 2#这个相当于一个断点或者称为调用点
print(age(3))
可以用python中的pdb来看程序的具体执行步骤,在代码中加入以下代码即可
import pdb
pdb.set_trace()
递归的运用较为著名的就是汉诺塔问题