递归函数的特点
一个函数内部调用自己
函数内部的代码是相同的,只是针对参数不同,处理的结果不同
当参数满足一个条件时,函数不再执行
这个非常重要,通常被称为递归的出口,否则,会出现死循环
列子
- 计算n个数之和
def sum_numbers(m):
if m==1:
return 1
return sum_numbers(m-1)+m
print(sum_numbers(5))
- 1、1、2、3、5、8、13、21、34 斐波拉契数列
def demo1(n):
if n==1:
return 1
if n==2:
return 1
return demo1(n-1)+demo1(n-2)
n=6
for i in range(1,n+1):
print(demo1(i),end=" ")
使用递归函数计算出第n个斐波拉契的数,然后使用循环,打印出前n个斐波拉契数列