递归的经验: 大家都感觉递归学的有点模糊,下面是自己理解的一些经验 例如计算5的阶乘:
def jiecheng(n):
if n ==1: return 1 temp = n*jiecheng(n-1) return tempprint(jiecheng(5))
其实第一次接触递归确实有点小难: 其实和循环里面套循环的思路是一样的 你可以这样理解:假如计算5的阶乘 jiecheng(5) =5 *jiecheng(4) jiecheng(4) =4 *jiecheng(3) jiecheng(3) =3 *jiecheng(2) jiecheng(2) =2 *jiecheng(1) jiecheng(1) =1 函数里面有个递归的出口 if n==1,return 1 这句条件就是递归的出口 当n=1的时候 其返回的值就是1 ,就可以理解为jiecheng(1)=1 这样就可以很好的理解递归的套路了,希望对大家有用
|