递归函数

Posted littlegreenorc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归函数相关的知识,希望对你有一定的参考价值。

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



























以上是关于递归函数的主要内容,如果未能解决你的问题,请参考以下文章

UE4定义递归函数

递归与内置函数

函数递归

python 递归与递归函数

python - - 函数 - - 递归函数

R语言递归函数示例(Recursive Functions):使用递归函数计算阶乘使用递归函数计算数据序列的平方和