python—函数return递归
递归特性:
1、必须有一个明确的结束条件
2、每次进入更深一层递归时,问题规模相比上次递归应有所减少
3、递归效率不高,层次太多会导致内存溢出(栈溢出)
例:问路举例,得到结果后返给上一层(上一个人)一个一个向上传话。
import time person_list = ['alex','wupeiqi','yuanhao','byl','sb'] def ask_way(person_list): print('-'*60) if len(person_list) == 0 : return '没人知道' person = person_list.pop(0) if person == 'byl': return '%s 说在北京朝阳区' %person print('hi 你好,%s 公司在哪' %person) print('%s 回答说:我不知道,我帮你问问其它人%s' % (person,person_list)) time.sleep(2) res = ask_way(person_list) # print('%s 问的结果是:%s ' %(person,res)) # print(res) return res haha = ask_way(person_list) print(haha)

浙公网安备 33010602011771号