递归

1、递归的应用场景

  递归是一种编程思想。

  1. 在我们日常开发中,如果要遍历一个文件夹下面所有的文件,通常会使用递归来实现;

  2. 很多算法都离不开递归,例如:快速排序。 

2、递归的特点

  1. 函数内部自己调用自己

  2. 必须要有出口,没有出口就相当于死循环。

 

# 函数返回值:写法 和 返回的位置:函数调用的位置
def return_name():
    return 100

result = return_name()
print(result)

 3、 应用:3以内数字累加和

# 需求:3以内数字的累加和 3+2+1 = 6
# 6 = 3 + 2以内的数字累加和
# 2以内数字累加和 = 2 + 1以内数字累加和
# 1以内数字累加和 = 1  # 出口

# 递归特点:函数内部自己调用自己;必须有出口

def sum_numbers(num):
    # 2.出口
    if num == 1:
        return 1
    # 1.当前数字 + 当前数字-1的累加和
    return num + sum_numbers(num - 1)

result = sum_numbers(3)
print(result)

 

 

4、 报错

  报错提示:maximum recursion depth exceeded(如果没有出口,报错:超出最大递归深度

 

posted @ 2022-09-26 22:57  㞢卄BYZ  阅读(69)  评论(0)    收藏  举报