13. 递归函数
- 递归函数:函数或者其它代码都可以解决
官网规定:默认递归的最大深度1000次。如果你递归超过100次还没有解决这个问题,那么执意使用递归,效率很低。
import sys
print(sys.setrecursionlimit(1000000))
def func(n):
print(n)
n += 1
func(n)
func(1)
计算年龄:
def age(n):
if n == 1:
return 18
else:
return age(n-1) + 2
print(age(4))
'''
def age(4):
if n == 1:
return 18
else:
return age(3) + 2
age(4) = age(3) + 2
def age(3):
if n == 1:
return 18
else:
return age(2) + 2
age(4) = age(2) + 2 + 2
def age(2):
if n == 1:
return 18
else:
return age(1) + 2
age(4) = age(1) + 2 + 2 + 2
def age(1):
if n == 1:
return 18
else:
return age(1) + 2
age(4) = 18 + 2 + 2 + 2
'''
打印列表中所有的元素:
l1 = [1, 3, 5, ['小王','小红', 34, [33, 55, [11,33]]], [77, 88],66]
def func(alist):
for i in alist:
if type(i) == list:
func(i)
else:
print(i)
func(l1)
.