函数的递归结构

递归最显著的特征为函数会在函数内部继续调用自己。
递归的效率不高,因为每层递归在等待值时会开辟内存,容易造成内存溢出。
递归结构的两个要求:
1.递归必须有终止条件。
2.每进入一层递归,问题的规模要比上一层少。
几个例子

def test(n):
    print("这层开始时n=%.d" % n)
    n = int(n / 2)
    if n == 0:
        return "结束"
    res = test(n)
    return res


A = test(10)
print(A)
person_list = ["LL", "YY", "Lucky", "BB", "MB"]


def askrode(person_list):
    person = person_list.pop(0)
    if len(person_list) == 0:
        if person == "MB":
            return "我知道地方,在太原"
        else:
            return "没人知道路"
    print("%s说我去给你问问%s" % (person, person_list))
    res = askrode(person_list)
    return res


result = askrode(person_list)
print(result)

猜你喜欢

转载自blog.csdn.net/weixin_43690603/article/details/84262519