递归函数:
函数或其他的代码都可以解决递归解决的问题,但是递归在某些时候能有出奇制胜的效果
自己调用自己
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) + 2
print(age(4))
'''
n = 4 age(3) + 2
n = 3 age(2) + 2
n = 2 age(1) + 2
n = 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)
原文:https://www.cnblogs.com/zyyhxbs/p/11084592.html