函数递归
Posted lvguchujiu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数递归相关的知识,希望对你有一定的参考价值。
函数递归:
函数递归指的是重复 “直接调用或间接调用” 函数本身,
这是一种函数嵌套调用的表现形式。
直接调用: 指的是在函数内置,直接调用函数本身。
间接调用: 两个函数之间相互调用间接造成递归。
了解:
python中有递归默认深度: 限制递归次数
998, 1000
PS: 但是在每一台操作系统中都会根据硬盘来设置默认递归深度。
获取递归深度: 了解
sys.getrecursionlimit()
设置递归深度: 了解
sys.setrecursionlimit(深度值)
注意: 单纯的递归调用时没有任何意义的。
-
想要递归有意义,必须遵循两个条件:
- 回溯:
指的是重复地执行, 每一次执行都要拿到一个更接近于结果的结果,
回溯必要有一个终止条件。
- 递推:
当回溯找到一个终止条件后,开始一步一步往上递推。
age5 == age4 + 2 age4 == age3 + 2 age3 == age2 + 2 age2 == age1 + 2 age1 == 18 # 回溯终止的结果 # result = age(n - 1) + 2 ‘‘‘ def age(n): if n == 1: return 18 # 这里写return才能实现递推 return age(n - 1) + 2 res = age(5) print(res) # 26
以上是关于函数递归的主要内容,如果未能解决你的问题,请参考以下文章