递归函数:
函数或其他的代码都可以解决递归解决的问题,但是递归在某些时候能有出奇制胜的效果
自己调用自己
def func(n): print('in func') n += 1 print(n) func(n)func(0)# 官网规定:默认递归的最大深度是1000次# 如果递归超过100次还没有解决这个问题,那么执意使用递归,效率很低.# import sys# sys.setrecursionlimit(10000000) # 设定递归最大次数
# 例一def age(n): if n == 1: return 18 else: return age(n - 1) + 2print(age(4))'''n = 4 age(3) + 2n = 3 age(2) + 2n = 2 age(1) + 2n = 1 18'''# 例二l1 = [1, 3, 5, ['小马', '小刘', 18, [33, 44, [55, 77]]], [99, 22, 11, 9], 21]def func(lst): for el in lst: if type(el) != list: print(el) else: func(el)func(l1)