递归:函数内部调用自己
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说:餐馆就在十字路口那