函数递归


一、函数递归

    递归:

      递归指的就是函数在执行阶段直接或者间接的调用了自己

def index():
    print('hello')
    index()

index()    

    官网表示的python解释最大递归深度为1000

import sys
print(sys.getrecursionlimit())  #可以查看最大递归深度
sys.setrecursionlimit(2000)  # 在括号内可以修改最大递归深度
print(sys.getrecursionlimit()) 

 二、递推与回溯

    递归的原理就是递推与回溯

     递推:

      一层一层往下推导答案,每一层都比上一层要简单   

     回溯:

      根据最后的结论一层一层的推导出最初的答案

     ps:递归一定要有结束条件,否则会一直递推下去

# 将列表中的数字打印出来

# 打印出列表中每一个元素(列表除外)
# 1.循环该列表 获取列表内每一个元素
# 2.判断该元素是否是数字 如果是数字 则直接打印
# 3.如果是列表 则循环该列表 获取列表内每一个元素
# 4.判断该元素是否是数字 如果是数字 则直接打印
# 5.如果是列表 则循环该列表 获取列表内每一个元素
# 6.判断该元素是否是数字 如果是数字 则直接打印
# 7.如果是列表 则循环该列表 获取列表内每一个元素

l = [1, [2, [3, [4, [5, [6, [7, [8, [9, [10, ]]]]]]]]]]

def print1(l):
    for i in l:
        if type(i) is int:
            print(i)
        else:
            print1(i)
print1(l)

相关