函数递归

递归

1、自己调用自己(不断调用自己本身)-- 死递归

2、有明确的终止条件

3、满足以上两个才是有效递归

递:一直去执行直到碰到结束条件
归:从结束条件开始往回退

官方声明:最大层次 1000,实际测试 998/997

def func():
    print(123)
    func()
func()
def age(n):  # 1,2,3
    if n == 3:
        return "猜对了"
    else:
        age(n + 1)
print(age(1))

上述代码分解如下:返回None

def age2(n):
    if n == 3:
        return "猜对了"
def age1(n):
    if n == 3:
        return "猜对了"
    else:
        age2(n + 1)
def age(n):
    if n == 3:
        return "猜对了"
    else:
        age1(n + 1)
print(age(1))
def age(n):
    if n == 4:
        return 18
    else:
        return age(n + 1) - 2
print(age(1))

上述代码拆解:

def age4(n):
    if n == 4:
        return 18
def age3(n):
    if n == 4:
        return 18
    else:
        return age4(n + 1) - 2
def age2(n):
    if n == 4:
        return 18
    else:
        return age3(n + 1) - 2
def age1(n):
    if n == 4:
        return 18
    else:
        return age2(n + 1) - 2
print(age1(1))
posted @ 2020-10-22 20:01  Ylinn  阅读(95)  评论(0)    收藏  举报