递归

递归

结束函数用return

递归特性:必须要有个明确的结束条件

 

例如:

def cal(n):
print(n)
if int(n/2) == 0:
return n
return cal(int(n/2))

s = cal(10)========》运行cal(10) 结果是:10 5 2 1
print(s)=====》返回值是最后一个即1
所以结果是:

10
5
2
1

 

import time========>引入time
person_list = ["alisa", "tom", "may","tina"]

def ask_way(person):
print("-"*60)
if len(person_list) == 0:
return "根本无人知道路"
person = person_list.pop(0)
if person == "tina":
return "%s说:我知道,A地铁口向右走就是。"%person
print("hi,帅哥[%s],去望京怎么走"%person)
print("%s说:我不知道,我帮你问问%s"%(person, person_list))
time.sleep(3)
return ask_way(person)

s = ask_way(person_list)
print(s)===================>输出最后的结果
结果是:hi,帅哥[alisa],去望京怎么走

alisa说:我不知道,我帮你问问['tom', 'may', 'tina']

------------------------------------------------------------

hi,帅哥[tom],去望京怎么走

tom说:我不知道,我帮你问问['may', 'tina']

------------------------------------------------------------

hi,帅哥[may],去望京怎么走

may说:我不知道,我帮你问问['tina']

------------------------------------------------------------

tina说:我知道,A地铁口向右走就是。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2021-02-28 16:24  wode110  阅读(43)  评论(0编辑  收藏  举报