递归(Python)

18 阅读1分钟

递归的特点

函数的代码都是相同的,只是因为参数的不同,处理的结果也不同
当满足一个条件时,函数不再执行,通常为递归的出口,否则容易死循环

def number(num):
    """
    递归函数
    :param num: 递归的参数
    :return: 退出递归循环
    """
    print(num)
    # 3
    # 2
    # 1
    # 递归的出口,当满足某一个条件时,退出函数,不再执行
    if num == 1:
        return

    # 自己调用自己
    number(num - 1)


number(3)
# case
def sum_numbers(num):
    if num == 1:
        return 1

    temp = sum_numbers(num - 1)

    print('+ %d ' % temp)
    print('~ %d ' % num)
    return num + temp


result = sum_numbers(3)
print('结果 %d ' % result)   # 结果 6

image.png