Python 入门之 递归
1、递归
递:一直传参
归:返回
(1)不断调用自己本身(无效递归 -- 死递归)
def func():
print(1)
func()
func()
(2)有明确的终止条件
递归的最大深度(层次) 官方说明1000 实际测试998/997
递归的应用场景:
english = [["1",["a","b","c","d","e",["f",["g","h",["j","k"]]]]],
["2",["l"],],
["3",["m"]]]
for i in english :
if type(i) == list:
for em in i:
if type(em) == list:
for j in em:
在列表中嵌套列表,循环输出列表中的每个元素时,多层for循环嵌套,不但麻烦,而且如果在列表中添加新元素时,就得重新编写代码。
此时,可用递归的方法解决上述问题。
如下:
def func(m):
for i in m:
if type(i) == list:
func(i)
else:
print(i)
func(english)
# 用递归实现斐波那契数
def func(num):
if num == 0 or num == 1:
return 1
return func(num-1) + func(num-2)
for i in range(8):
print(func(i))
天之涯,海之角,吾与money天荒地老。