含义:如果一个函数的函数体内调用了函数本身,这个函数就称为递归函数.
递归的组成部分:递归调用条件与递归终止条件
递归的调用过程:
- 每递归调用一次函数,都会在栈内分配一个栈帧
- 每执行完一次函数,都会释放相应的空间
#第二种 def fac(n): if n==1: return 1 else: res= n*fac(n-1) return res print(fac(6)) #720 #第一种 def fac(n): if n==1: return 1 else: return n*fac(n-1) print(fac(6)) #720
斐波那契数列
-
#斐波那契数列 1,1,2,3,5,8 def fun(n): if n==1: return 1 elif n==2: return 1 #因为第二个位置上的数字也是1 else: return fun(n-1)+fun(n-2) #这个数的前一项是n-1,前两项是n-2 #斐波那契数列第六位上的数字 print(fun(6)) #8 #输出这个数列的前6位上的数字 for i in range(1,7): #产生1-6的一个整数序列 print(fun(i))