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)

猜你喜欢

转载自www.cnblogs.com/hai125698/p/9147722.html