1. 递归的应用场景
递归是一种编程思想,应用场景:
- 在我们日常开发中,如果要遍历一个文件夹下⾯面所有的文件,通常会使用递归来实现;
- 在后续的算法课程中,很多算法都离不开递归,例例如:快速排序。
2. 递归的特点
- 函数内部自己调用自己
- 必须有出口
3. 应用: 3以内数字累加和
# 3 + 2 + 1
def sum_numbers(num):
# 1.如果是1,直接返回1 -- 出口
if num == 1:
return 1
# 2.如果是1,重复执行累加:
result = num + sum_numbers(num-1)
# 3.返回累加结果
return result
sum_result = sum_numbers(3) # 3 + sum2(2+sum(1)) ---> sum(1) 返回1, 所以 sum(2) 返回3, 最后sum(3)返回6
# 输出结果为6
print(sum_result)
执行的结果: