什么叫递归函数? 如果在一个函数的函数体调用了该函数本身,这个函数就称为递归函数。 递归的组成部分 递归函数中需要有递归调用和递归终止条件 递归的调用过程 每递归调用一
什么叫递归函数?
如果在一个函数的函数体调用了该函数本身,这个函数就称为递归函数。
递归的组成部分
递归函数中需要有递归调用和递归终止条件
递归的调用过程
- 每递归调用一次函数,都会在栈内分配一个栈帧
- 每执行完一次函数,都会释放相应的空间
递归的优缺点
- 缺点:占用内存多,效率低下
- 优点:思路和代码简单
实例1:求阶乘
# 阶乘def fac(n):
if n == 1:
return 1
else:
return n*fac(n-1)
print(fac(6))
实例2:斐波那契数列
# 斐波那契数列def fib(n):
if n == 1:
return 1
elif n == 2:
return 1
else:
return fib(n-1)+fib(n-2)
# 斐波那契数列第6位上的数字
print(fib(6))
print('---------------------------------------')
# 输出这个数列的前6位上的数字
for i in range(1,7):
print(fib(i),end='\t')