什么是函数的递归?其实就是函数内部调用自己。
特点
-
一个函数 内部 调用自己
-
函数内部可以调用其他函数,当然在函数内部也可以调用自己
-
代码特点
-
函数内部的 代码 是相同的,只是针对 参数 不同,处理的结果不同
-
当 参数满足一个条件 时,函数不再执
测试代码:
def sum_numbers(num):
print(num)
# 递归的出口很重要,否则会出现死循环
if num == 1:
return
sum_numbers(num - 1)
sum_numbers(3)
运行后的原理:
递归是一个 编程技巧,初次接触递归会感觉有些吃力!在处理 不确定的循环条件时,格外的有用,例如:遍历整个文件目录的结构
递归实例,数字的递归相加
实例代码
def sum_numbers(num):
if num == 1:
return 1
# 假设 sum_numbers 能够完成 num - 1 的累加
temp = sum_numbers(num - 1)
# 函数内部的核心算法就是 两个数字的相加
return num + temp
print(sum_numbers(2))
如果将代码中的2改成3,则打印出来的结果是6