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-递归的主要内容,如果未能解决你的问题,请参考以下文章

2016-5-15 老男孩全栈PYTHON -DAY3-1

2018-5-31-Python全栈开发day12-列表,字典,元组

python全栈开发 day01

python全栈开发day44-jsDOMBOM

Python全栈开发,Day18 - jQuery

python全栈开发-Day8 函数基础