共计 351 个字符,预计需要花费 1 分钟才能阅读完成。
递归函数
如果一个函数的函数体内调用了函数自身,这个函数称为递归函数。
递归的根本信息
递归函数组成部分:
- 递归调用
- 递归终止条件
递归的调用过程:
- 每递归调用一次函数,都会在栈内存调配一个栈帧
- 每执行完一次函数,都会开释对应的空间
递归的优缺点:
长处 | 毛病 |
---|---|
思路、代码简略 | 占用内存多、效率低 |
代码示例:
- 计算数字的阶乘
def fac(n):
if n == 1:
return 1
else:
return n*fac(n-1)
print(fac(6)) # 720
- 斐波那契数列
def fin(n):
if n == 1 or n == 2:
return 1
else:
return fin(n-1) + fin(n-2)
print(fin(6)) # 8
# 遍历输入斐波那契数列
for item in range(1, 7):
print(fin(item), end='\t') # 1 1 2 3 5 8
正文完