函数递归
一、函数递归
递归:
递归指的就是函数在执行阶段直接或者间接的调用了自己
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)