递归函数

递归函数

1.函数的递归调用

函数直接或间接的调用了函数自身

直接调用:
def index():
    print('from index')
    index()
index()
间接调用:
def index():
    print('from index')
    func()
def func():
    print('from func')
    index()

func()
'''最大递归深度:python解释器添加的安全措施'''
count = 0
def index():
    global count
    count += 1
    print(count)
    index()
index()
'''官网提供的最大递归深度为1000 我们在测试的时候可能时候可能会出现996 997 998'''

2.递归函数

1.直接或间接调用自己

2.每次调用都必须比上一次简单 并且需要有一个明确的结束条件

		递推:一层层往下

		回溯:基于明确的结果一层层往上
"""
get_age(5) = get_age(4) + 2
get_age(4) = get_age(3) + 2
get_age(3) = get_age(2) + 2
get_age(3) = get_age(1) + 2
gat_age(1) = 18
"""
def get_age(n):
    if n == 1:
        return 18
    return get_age(n-1) + 2
res = get_age(5)
print(res)  # 26
posted @ 2022-12-07 17:33  dear丹  阅读(30)  评论(0编辑  收藏  举报