递归函数
什么是递归函数
如果在一个函数的函数体内调用了该函数本身,这个函数就称为递归函数
递归的组成部分
递归调用与递归终止条件
递归的调用过程
-
每递归调用一次函数,都会在栈内存分配一个栈帧
-
每执行完一次函数,都会释放相应的空间
使用递归函数来计算阶乘
def hafc(n): # 定义一个函数计算阶乘,n是参数
if n==1:
return 1
else:
return n*hafc(n-1)
print(hafc(6))
使用递归来计算斐波那契数列
斐波那契数列: 1 1 2 3 5 8、、、
def cir(n):
if n==1:
return 1
elif n==2:
return 1
else:
return cir(n-1)+cir(n-2)
print(cir(6))
# 输出前六位数字
for i in range(1,7,1):
print(cir(i))
总结:
递归含有调用语句和终止语句
用if…else…语句