函数的递归
函数调用自身的编程技巧称为递归
递归函数的特点
1.函数内部可以调用其他函数,包括自己
2.函数内部的代码是相同的,只是针对参数不同,处理结果不同
3.当参数满足一个条件时,函数不再执行,这通常被称为递归的出口,否则会出现死循环
def sum(num):
print(num)
if num == 1:
return #出口
sum(num-1)
sum(3)
输出
3
2
1
实例:计算1+2+3+…+num
def sum(num):
#出口
if num==1:
return 1
#数字的累加 num+(1...num-1)
**#假设sum能够正确处理1...num-1**
temp=sum(num-1)
#两个数字的相加
return num+temp
result=sum(100)
print(result) #5050
图片理解
层层上传
错误示例
def sum(s,num):
s+=num
num=num-1
if num==0:
return s
sum(s,num)
s=0
ss=sum(0,100)
print(ss) #None
改正后
def sum(s,num):
s+=num
num=num-1
if num==0:
return s
s1=sum(s,num) #划重点,一定要有承接返回值
return s1
s=0
ss=sum(0,100)
print(ss) #5050