# 递归
def calc(n):
print(n)
if int(n/2) == 0:
return n
res = calc(int(n/2))
return res
res = calc(10)
print(res) 10
5
2
1
1

import time

person_list = ['小马','小李','小何','小张','百度','小黄']
def ask_way(person_list):
print('-'*60)
if len(person_list) == 0:
return '没听说过,不知道。'
person=person_list.pop(0)
if person == '百度':
return '%s说:坐地铁9号线到九亭下就可以了。'%person print('请问[%s], 你知道九亭在哪吗?'%person)
print('%s回答道:我不知道,我问下我的朋友%s··'%(person,person_list))
time.sleep(3)
res=ask_way(person_list)
print('%s问的结果是:%res' %(person,res))
return res
res=ask_way(person_list)
print(res) 请问[小马], 你知道九亭在哪吗?
小马回答道:我不知道,我问下我的朋友['小李', '小何', '小张', '百度', '小黄']··
------------------------------------------------------------
请问[小李], 你知道九亭在哪吗?
小李回答道:我不知道,我问下我的朋友['小何', '小张', '百度', '小黄']··
------------------------------------------------------------
请问[小何], 你知道九亭在哪吗?
小何回答道:我不知道,我问下我的朋友['小张', '百度', '小黄']··
------------------------------------------------------------
请问[小张], 你知道九亭在哪吗?
小张回答道:我不知道,我问下我的朋友['百度', '小黄']··
------------------------------------------------------------
小张问的结果是:'百度说:坐地铁9号线到九亭下就可以了。'es
小何问的结果是:'百度说:坐地铁9号线到九亭下就可以了。'es
小李问的结果是:'百度说:坐地铁9号线到九亭下就可以了。'es
小马问的结果是:'百度说:坐地铁9号线到九亭下就可以了。'es
百度说:坐地铁9号线到九亭下就可以了。

py-day3-2 python 函数递归的更多相关文章

  1. python 函数递归

    ##recursive递归 递归特性:1. 必须有一个明确的结束条件2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通 ...

  2. python 函数递归与匿名函数

    1.什么是函数递归? 函数递归调用(是一种特殊的嵌套调用):在调用的函数过程中,又直接或者间接的调用了该函数本身 递归必须要有两个明确的阶段: 递推:一层一层递归调用下去,强调每进入下一层递归问题的规 ...

  3. Python 函数递归-三元表达式-列表生成式-字典生成式-匿名函数-内置函数

    上节课复习: 1. 无参装饰器 def 装饰器名字(func): def wrapper(*args,**kwargs): res = func(*args,**kwargs) return res ...

  4. python函数递归和生成器

    一.什么是递归 如果函数包含了对其自身的调用,该函数就是递归的.递归做为一种算法在程序设计语言中广泛应用,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的 ...

  5. Python函数递归调用

    函数的递归调用: 是函数嵌套调用的一种特殊形式 具体是指: 在调用一个函数的过程中又直接或间接地调用到了本身 # 直接调用本身 def func(): print('我是func') func() f ...

  6. day15 Python函数递归,轻易不要用递归,容易搞出来内存溢出

    古之欲明明德于天下者,先治其国:欲治其国者,先齐其家:欲齐其家者,先修其身:欲修其身者,先正其心:欲正其心者,先诚其意:欲诚其意者,先致其知,致知在格物.物格而后知至,知至而后意诚,意诚而后心正,心正 ...

  7. python: 函数递归与尾递归

    如果一个函数在内部调用自己,那么这个函数就是递归函数. 例如一个阶乘函数:fact(n)=n! ,其实可以写成 fact(n)=n x fact(n-1). fact(n) 以递归的方式可以表示为: ...

  8. python学习三十五天函数递归的用法

    python函数递归就是自己调用自己,无限循环,但是python限制了调用的次数1000次,就会终止,递归用在栏目分类,采集程序比较多,下面简单说函数递归用法和实例 1,函数递归用法 def func ...

  9. 二. python函数与模块

    第四章.内置函数与装饰器详解 1.内置函数补充1 注:红色圆圈:必会:  紫红色方框:熟练:   绿色:了解 callable() 判断函数是否可以被调用执行 def f1(): pass f1() ...

随机推荐

  1. 一起用ipython

    安装 安装python2版本的软件包就用命令 pip install ipython 安装python3版本对应的软件包就用命令 pip3 install ipython 进入了ipython,ipy ...

  2. spring cloud 配置文件application.yml和bootstrap.yml 的定位,区别和联系

    最近在启用springcloud配置中心server的东西,在整理属性资源的时候,突然发现:用了这么久的springboot,为什么会配置两个属性文件同时存在(application.yml/prop ...

  3. C#退出程序方法分类

    1.this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出:

  4. erlang 笔记(06/03/02)

    1 .同时打开的端口数量限制(Open ports) erlang:system_info(port_limit)查询 可以通过环境变量ERL_MAX_PORTS修改,或者配置erlang启动参数(标 ...

  5. promise学习总结

    什么是Promise Promise是异步编程的一种解决方案,它有三种状态,分别是pending-进行中.resolved-已完成.rejected-已失败 当Promise的状态又pending转变 ...

  6. Eclipse+Spring boot开发教程

    一.安装 其实spring boot官方已经提供了用于开发spring boot的定制版eclipse(STS,Spring Tool Suite)直接下载使用即可,但考虑到可能有些小伙伴不想又多装个 ...

  7. cl 命令行配置

    VS2013啊什么老是要license,而且打开还特别庞大. 当想测试一个小东西的时候,我并不需要创建一个很大的工程,只需要编译下,运行下即可. 这时候采用 cl 命令编译会快很多. 下面是步骤: 1 ...

  8. node设置跨域

    开发过程中在build/dev-server.js配置相关代码以跨域 app.use('/api',proxyMiddleware({ target:'http://m.maizuo.com/v4', ...

  9. Edge 浏览器 调用

    ShellExecute(0, 'open', PChar('Microsoft-Edge:' + Edit1.Text), nil, nil, SW_SHOW);

  10. 在Linux终端安装Julia

    官方参考文档:https://julialang.org/downloads/platform.html#generic-binaries 一.centos终端安装 打开Linux终端输入 sudo ...