2018-6-6-Python全栈开发day15-part2-递归
Posted 叶海宾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-6-6-Python全栈开发day15-part2-递归相关的知识,希望对你有一定的参考价值。
递归
在函数内继续运行函数,知道达成某一目标,最终返回值。
递归的特性:
1.函数必须有明确的结束条件
2.没进入一次递归,需要处理的问题应该减少
3.递归的效率很低,需要防止内存溢出
上课习题
1.问路
#问路,大路上有几个人,问其中一个人是否知道某地在哪里 s1=[‘alex‘,‘xuzheng‘,‘xiaoye‘,‘haibin‘] def wenlu(s1): person=s1.pop(0)#将路人名单单个调出来进行询问,并且使没有问的名单减少 if person == ‘haibin‘:#只有海滨知道路怎么走 return ‘啊我知道太平货柜怎么走‘ if len(s1) == 0: return ‘没有人知道路怎么走‘ print(‘不好意思我也不知道,我帮你问一下‘) res=wenlu(s1) return res res=wenlu(s1) print(res)
很粗糙的递归
str = input(‘请输入若干字符:‘) def f(x): if x == -1: return ‘‘ else: return str[x] + f(x - 1) print(f(len(str) - 1)) ---- Alex ==== xela
自己写的
def zhuan(x): if x == 0: return ‘‘ else: a=s[x-1]+zhuan(x-1) return a b=zhuan(len(s)) print(b)
以上是关于2018-6-6-Python全栈开发day15-part2-递归的主要内容,如果未能解决你的问题,请参考以下文章