函数的递归
1.函数的递归的定义
函数的递归调用:是函数嵌套调用的一种特殊形式
具体是指:在调用一个函数的过程中又直接或者间接的调用到本身,是一个死循环,最大递归是1000次,超出之后报错。
2.函数递归的调用
# 直接调本身
def f1():
print('是我还是我')
f1()
f1()
# 间接调用
def f1():
print('f1')
f2()
def f2():
print('f2')
f1()
作用:一段代码的循环运行方式的方案有两种
1.是while true循环
2.函数的递归--return结束函数的调用
3.递归调用的两个阶段
回溯:一层一层调用下去
递推:满足某种结束条件,结束递归调用,然后一层一层返回
递归调用的案列
l=[1,[1,2],[1,[1,2],[1,2,3]]]
# 需求把l里面的数据打散取出来
def f1(l):
for x in l:
if type(x) is list: #如果循环出来的是列表则继续循环判断
f1(x)
else:
print(x)