python - - 函数 - - 递归函数
Posted 小Q渺晓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python - - 函数 - - 递归函数相关的知识,希望对你有一定的参考价值。
目录
- 什么是递归
- 递归例题
- 递归函数与三级菜单
- 递归函数与二分查找算法
1,什么是递归
- 递归的定义:在一个函数里再调用这个函数本身
- 递归的最大深度默认是:997 - - 是python从内存角度出发做的限制
1.1 测试递归最大深度
n = 0
def recursion():
global n
n += 1
print(n)
recursion()
recursion()
# 结果呈现
1
2
...
995
996
Traceback (most recent call last):
File "C:/Users/thinkpad/Envs/daily_test/test_project/递归函数.py", line 27, in <module>
recursion()
File "C:/Users/thinkpad/Envs/daily_test/test_project/递归函数.py", line 25, in recursion
recursion()
File "C:/Users/thinkpad/Envs/daily_test/test_project/递归函数.py", line 25, in recursion
recursion()
File "C:/Users/thinkpad/Envs/daily_test/test_project/递归函数.py", line 25, in recursion
recursion()
[Previous line repeated 992 more times]
File "C:/Users/thinkpad/Envs/daily_test/test_project/递归函数.py", line 24, in recursion
print(n)
RecursionError: maximum recursion depth exceeded while calling a Python object
1.2 修改递归最大深度
import sys
sys.setrecursionlimit(100000)
n = 0
def recursion():
global n
n += 1
print(n)
recursion()
recursion()
# 结果呈现
1
2
...
3924
3925
2,递归例题
2.1 A 比 B 大两岁,B 比 C 大两岁,C 比 D 大两岁,D 比 F 大两岁,F 18岁了,求A多大了?
1 | 2 | 3 |
1 | 2 | 3 |
- 分析规律
以上是关于python - - 函数 - - 递归函数的主要内容,如果未能解决你的问题,请参考以下文章