day 17 初始递归
2024-09-05 10:43:35
递归函数
了解什么是递归 : 在函数中调用自身函数
最大递归深度默认是997/998 —— 是python从内存角度出发做的限制
能看懂递归
能知道递归的应用场景
初识递归 ——
算法 —— 二分查找算法
三级菜单 —— 递归实现 手动设置递归深度
import sys sys.setrecursionlimit(100000)
n = 0 def story():
global n
n += 1
print(n)
story() Recursion : 递归
RecursionError: maximum recursion depth exceeded while calling a Python object
递归错误,超出了递归的最大深度
story() 如果递归次数过多,就不适合使用递归来解决问题
递归的缺点: 占内存;
递归的优点: 让代码变简单 递归的用处:通过多个结果来得到最终答案,这其中的运算步骤都是一致的
递:从最终答案开始一直往下遍历到给出的条件
归:从已知条件向上进行多次重复运算,直到得到最终条件
范例:
# alex 多大? n = 1 age(1)=age(2)+2 = age(n+1)+2
# alex 比 egon大两岁
# egon 多大? n = 2 age(2)=age(3)+2 = age(n+1)+2
# egon比 wusir大两岁
# wusir 多大? n = 3 age(3)=age(4)+2 = age(n+1)+2
# wusir 比 king大两岁
# king 多大?
# king 40 岁 n = 4 age(4)= 40 # n = 4 age(4) = 40
# n < 4 age(n) = age(n-1)+2 def age(n):
if n == 4:
return 40
elif 0 < n < 4:
return age(n + 1) + 2 print(age(1))
最新文章
- 【CSS】css网页背景图片设置
- 判断 Gym 100502K Train Passengers
- sharepoint workflow不能正常使用
- c#换ip代理源码
- Mysql数据库中的计数器表实时更新
- Competing in a data science contest without reading the data
- PHP开发安全之近墨者浅谈(转)
- c.Tom and paper
- 获取synchronized锁中的阻塞队列中的线程是非公平的
- 深入PHP变量存储结构 标签: PHP存储
- JavaScript学习日志(二):面向对象的程序设计
- docker 安装LAMP环境
- go basic
- 机器学习笔记(5) KNN算法
- pow log 与 (int)
- python - class类 (二) 静态属性/类方法/静态方法
- Linux权限命令
- log4j日志整合输出(slf4j+commonslog+log4j+jdklogger)
- 细说PHP中strlen和mb_strlen的区别(转)
- Maven 构建配置文件