首页 > 其他 > 详细

递归函数

时间:2018-08-28 00:09:59      阅读:162      评论:0      收藏:0      [点我收藏+]
一个函数在自己内部调用自己,需要有个返回结果
import time

person_list = ["alex", "wupqi", "yaohuan", "lhaifeng", "zhanshi"]


def ask_way(person_list):
print("-" * 50)
if len(person_list) == 0:
return "没人知道"
person = person_list.pop(0)
if person == "lhaifeng":
return "%s 说:我知道地址" % person

print("hi 美男[%s],敢问路在何方?" % person)
print("%s 回答道:我不知道,我可以帮你问问%s..." % (person, person_list))
time.sleep(3)
#递归调用自己
res = ask_way(person_list)#需要等,保存这个状态,递归耗内存
print("%s-问的结果是:% res" %(person,res))
return res


res2 = ask_way(person_list)
print(res2)
#递归必须有一个明确的结束条件
#每次进入更深一层递归时,问题规模相比上一次递归会减少
#递归的效率不高,容易到处栈溢出

递归函数

原文:https://www.cnblogs.com/LittleGreenOrc/p/9545437.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!