递归的含义:在一个函数里再调用这个函数本身,这就是递归。

在Python里递归的最大限度是997,最大递归的限度可以修改

import sys
print(sys.setrecursionlimit(100000)

递归与三级菜单

menu = {'北京': {'海淀': {'五道口': {'soho': {},'网易': {},'google': {}},'中关村': {'爱奇艺': {},'汽车之家': {},'youku': {},},'上地': {'百度': {},},},'昌平': {'沙河': {'老男孩': {},'北航': {},},'天通苑': {},'回龙观': {},},'朝阳': {},'东城': {},},'上海': {'闵行': {"人民广场": {'炸鸡店': {}}},'闸北': {'火车战': {'携程': {}}},'浦东': {},},'山东': {},
}def three(menu):while True:for i in menu:print(i)name = input('your name : ')if name in menu:three(menu[name])elif name == 'q':breakelse:print('不存在的 ')continuethree(menu)

二分位法 与递归

l = [2,4,5,7,8,9,12,13,14,15,17,18,19,23,25,27,29]def erf(l,num):mid = len(l)//2if l[mid] > num:l = l[:mid]return erf(l,num)elif l[mid] < num:l = l[mid+1:]return erf(l,num)else:return l[mid]print(erf(l,18))

二分位法与递归进阶版本

l = [2,4,5,7,8,9,12,13,14,15,17,18,19,23,25,27,29]def erf(l,num,start= 0,end = 0):if start < end:mid = (start + end)//2if l[mid] > num:end = midreturn erf(l,num,start,end)elif l[mid] < num:start = mid + 1return erf(l,num,start,end)else:return midelse:print('没有这个值!!')print(erf(l,25,start = 0,end = len(l)-1))

递归 与猜年龄

Alex 比egon 大2岁

egon 比袁浩大2岁

袁浩比哪吒大2岁

娜扎比太白大2岁

太白是40岁,请问Alex是多少岁?用递归函数表达

age1 = 40
age2 = nezha
age3 = yuanhao
age4 = egon
age5 = alex
def age(n):if n == 1:return 40else:ret = age(n-1)return (ret +2)print(age(5))


转载于:https://www.cnblogs.com/niehaidong111/p/7263519.html

递归 人理解循环 神理解递归相关推荐

  1. 蓝桥杯算法竞赛系列第二章——深入理解重难点之递归(上)

    铁汁们,递归(下)已经更新咯,欢迎铁汁们批评指正. 蓝桥杯算法竞赛系列第二章--深入理解重难点之递归(下)_安然无虞的博客-CSDN博客 目录 一.递归是什么? 二.如何理解"递归" ...

  2. 昆虫繁殖(继续理解递推和递归)

    昆虫繁殖(继续理解递推和递归) /*[题目描述] 科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强.每对成虫过x个月产y对卵,每对卵要过两个月长成成虫.假设每个成虫不死,第一个月只有一对 ...

  3. 对递归的理解以及怎么写递归程序

    一.怎么写递归 1.一定要搞清楚当前你的递归程序的功能是什么,以及需不需要返回值,如果需要,则返回的值是什么,如果对当前递归程序要完成的功能模棱两可.一知半解,那么逻辑肯定混乱,也就不容易写出正确的递 ...

  4. 算法分析:傻瓜式理解汉诺塔递归问题

    算法分析:傻瓜式理解汉诺塔递归问题 一.汉诺塔问题规则 设a.b.c是三个塔座, 开始时,a上有n个圆盘自下而上,从大到小地叠放在一起. 现要求将a上的圆盘移到b上,仍按相同顺序叠放 规则1:每次只能 ...

  5. python 汉诺塔编程看不懂,简单理解汉诺塔递归问题(Python)

    废话不多说,先上代码: def Hanoi(n, a, b, c): if n == 1: print(a, '-->', c) else: Hanoi(n-1, a, c, b) Hanoi( ...

  6. php 循环 post,如何在php中使用jQuery递归调用POST循环请求

    如何在php中使用jQuery递归调用POST循环请求 发布时间:2021-01-28 17:37:18 来源:亿速云 阅读:79 作者:Leah 这期内容当中小编将会给大家带来有关如何在php中使用 ...

  7. 深度学习小白专场之循环神经网络和递归神经网络

    深度学习小白专场之循环神经网络和递归神经网络 全连接神经网络和卷积神经⽹网络,都只能单独的去处理单个的输入,且前后的输入之间毫无关系.但是在一些任务中,我们需要更好的去处理序列的信息,即前后的输⼊之间 ...

  8. java for 递归_Java/For循环/递归函数循环

    首先:java的重点和难点,命名和缓存 这次咱们的内容主要用到: 命名规则:大小写字母,下划线,美元符号$,数字,且数字不能打头 变量的声明:数据类型划分内存空间,命名,赋值 方法的声明:修饰符列表, ...

  9. spark while_while循环怎么理解

    while(条件) { 语句: } 当while循环开始后,先判断条件是否满足,如果满足就执行循环体内的语句,执行完毕后再回来判断条件是否满足,如此无限重复:直到条件不满足时,执行while循环后边的 ...

最新文章

  1. 日常安排php,PHP日常开发小技巧
  2. 反射中getMethods 与 getDeclaredMethods 的区别
  3. 洛谷 P3128 [USACO15DEC]最大流Max Flow
  4. kafka partition分配_Kafka架构原理,也就这么回事
  5. ⅰcp经济模型_干货!来自清华小哥哥的全家桶教程——手把手教你在本地构建 Nervos AppChain...
  6. pytorch中创建多个空的tensor、pycharm从自己写的.py中引用函数下面画红线等问题
  7. 【Access2007】将Excel表导入至Access2007的当中一张已存在的表之中
  8. Tcl 语言——过程与字符串匹配篇
  9. JavaWeb报错500 类错误 解决方法
  10. 在输入框输入时限制输入框只能输入正整数以及两位小数正则表达式
  11. 【Unity3D基础2-11】Unity3D网格和材质
  12. 抱团股会一直涨?无脑执行大小盘轮动策略,轻松跑赢指数5倍【附Python代码】
  13. IDEA输入字母间距变大报红处理方法
  14. 服务器上如何查看日志记录
  15. resnet50中的bottleneck
  16. 已声明“ ”,但从未读取其值。ts(6133) 原因及解决方法
  17. 我发现P200一些基础的操作像地面站校准,还有遥控器的设置,阿木的的铂贝学院的视频里面其实有了,免费可以看的!
  18. c# php md5 32位加密,C#实现将32位MD5摘要串转换为128位二进制字符串的方法
  19. python自动化办公:利用python将签名自动插入docx文件
  20. (踩坑向+靠谱安装贴记录)ubuntu20.04安装freesurfer、FSL、ANTs、MRtrix,虚拟机

热门文章

  1. SQL Server高级查询之子查询(多行子查询)
  2. matlab求临界稳定时的k,MATLAB自动控制原理仿真
  3. 网页左侧固定菜单栏的展开与收起
  4. 两数相加—C语言逐位相加版(注释详尽)
  5. OpenGL基础17:颜色
  6. 特征根法--递推数列前4列
  7. python批量将文件夹下所有图片中一种颜色改变为随机颜色
  8. 五分钟写出一个可以滑动条拖动的矩形脉冲合成的MatlabGUI程序
  9. 使用IDEA创建一个Maven Web工程:无法创建Java Class文件
  10. 前端零碎问题(四)css3