码迷,mamicode.com
首页 > 其他好文 > 详细

递归函数

时间:2018-08-28 00:54:55      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:lis   print   ...   结束   %s   ==   溢出   进入   port   

一个函数在自己内部调用自己,需要有个返回结果
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)
#递归必须有一个明确的结束条件
#每次进入更深一层递归时,问题规模相比上一次递归会减少
#递归的效率不高,容易到处栈溢出

递归函数

标签:lis   print   ...   结束   %s   ==   溢出   进入   port   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!