递归函数
了解什么是递归 : 在函数中调用自身函数
最大递归深度默认是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))

最新文章

  1. 【CSS】css网页背景图片设置
  2. 判断 Gym 100502K Train Passengers
  3. sharepoint workflow不能正常使用
  4. c#换ip代理源码
  5. Mysql数据库中的计数器表实时更新
  6. Competing in a data science contest without reading the data
  7. PHP开发安全之近墨者浅谈(转)
  8. c.Tom and paper
  9. 获取synchronized锁中的阻塞队列中的线程是非公平的
  10. 深入PHP变量存储结构 标签: PHP存储
  11. JavaScript学习日志(二):面向对象的程序设计
  12. docker 安装LAMP环境
  13. go basic
  14. 机器学习笔记(5) KNN算法
  15. pow log 与 (int)
  16. python - class类 (二) 静态属性/类方法/静态方法
  17. Linux权限命令
  18. log4j日志整合输出(slf4j+commonslog+log4j+jdklogger)
  19. 细说PHP中strlen和mb_strlen的区别(转)
  20. Maven 构建配置文件

热门文章

  1. 平滑重启更新(GR机制)
  2. 降级gcc版本
  3. SSM 配置文件 分析
  4. layui数据表格及分页
  5. 实验8:路由器IOS升级2
  6. SpringBoot之切面AOP
  7. LUA提取免费迅雷账号
  8. HDU_5692_dfs序+线段树
  9. WeChall_Training: Encodings I (Training, Encoding)
  10. 介绍求解AX=b:可解性与解的结构