模拟问路场景理解递归

递归:函数内部调用自己

 1 # TODO:模拟问路场景理解递归
 2 person_list = ['chen', 'wang', 'li', 'liu']
 3 def say_way(person_list):
 4     # 判断可问的路人是否为空
 5     if len(person_list) == 0:
 6         return '没人知道你问的地方在哪里'
 7     #取出列表中的第一个人
 8     person = person_list.pop(0)
 9     if person == 'li':
10         #找到了知道路的人
11         return '%s说:餐馆就在十字路口那'%person
12     print('问%s,你知道餐馆在哪吗?'%person)
13     print('%s说我也不知道在哪,我帮你问下[%s]'%(person, person_list))
14     result = say_way(person_list)
15     print('%s对上一个问路人说:%s'%(person, result))
16     return result
17 
18 result = say_way(person_list)
19 print(result)
20 
21 # 问chen,你知道餐馆在哪吗?
22 # chen说我也不知道在哪,我帮你问下[['wang', 'li', 'liu']]
23 # 问wang,你知道餐馆在哪吗?
24 # wang说我也不知道在哪,我帮你问下[['li', 'liu']]
25 # wang对上一个问路人说:li说:餐馆就在十字路口那
26 # chen对上一个问路人说:li说:餐馆就在十字路口那
27 # li说:餐馆就在十字路口那
问路映射递归
原文地址:https://www.cnblogs.com/SakuraYuanYuan/p/10309565.html