函数递归调用介绍

函数不仅可以嵌套定义,还可以嵌套调用,即在调用一个函数的过程中,函数内部又调用另一个函数,而函数的递归调用指的是在调用一个函数的过程中又直接或间接地调用该函数本身

例如

在调用f1的过程中,又调用f1,这就是直接调用函数f1本身

def f1():
print('from f1')
f1()
f1()

在调用f1的过程中,又调用f2,而在调用f2的过程中又调用f1,这就是间接调用函数f1本身

def f1():
print('from f1')
f2()

def f2():
print('from f2')
f1()

f1()

回溯与递推

递推

    一步步查找一个具体的结果

回溯

    根据结果反推出真正的数据

例子:

有 A B C D E五人 我们想知道A的年龄 但是A不说 ,A说我比B大两岁 我们问B B也不说 B说我比C大两岁...E说我18岁

ef get_age(n):
if n == 1:
return 18
return get_age(n - 1) + 2
res = get_age(5)
print(res)

函数递归_嵌套