递归
结束函数用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地铁口向右走就是。