python这道题怎么解释递归呢,能理解递推,回归怎么解释输出012345

python这道题怎么解释递归呢,能理解递推,回归怎么解释输出012345

问题描述:

img
大家帮忙解释一下怎么理解输出0,1,2,3,4,5呢?能理解递推,这个回归怎么解释,实在不理解

进入函数每次输出自身进入下一次循环,直到小于0,此时依次返回,
执行这里:
img

给你画了个图,哪里不明白可以再问我

img

img

递归就是函数自己调用自己,函数中要有结束,当条件满足时就不再调用自己了,函数结束回到上一层。

递归只有一个函数不好理解。把递归换成多个函数就好理解了。

def digui_1(num):
    print("进入 digui_1, num=",num)
    digui_2(num-1)
    print("回到 digui_1, num=",num)

def digui_2(num):
    print("进入 digui_2, num=",num)
    digui_3(num-1)
    print("回到 digui_2, num=",num)

def digui_3(num):
    print("进入 digui_3, num=",num)
    digui_4(num-1)
    print("回到 digui_3, num=",num)

def digui_4(num):
    print("进入 digui_4, num=",num)
    digui_5(num-1)
    print("回到 digui_4, num=",num)

def digui_5(num):
    print("进入 digui_5, num=",num)
    digui_6(num-1)
    print("回到 digui_5, num=",num)

def digui_6(num):
    print("进入 digui_6, num=",num)
    print("---------------")
    print("回到 digui_6, num=",num)


digui_1(5)

··

递归中在调用递归时底下还是有代码的,else没引号