递归场景
1、递归的实现就是通过调用函数自身实现一定算法过程,并且必须有一个明确的结束条件、在
遇到满足这个结束条件时执行完成。
2、优势:逻辑简单、通过少量代码实现。
3、缺点:必须把控好内存资源的使用,容易导致内存资源拮据、内存溢出、内存泄漏等。
阶乘实现--循环
1def func_for(num):
2
3 result = 1
4
5 for item in range(1,num + 1):
6
7 result = result * item
8
9 return result
阶乘实现--递归
1def func_iter(num):
2
3 if num == 1:
4
5 return 1
6
7 else:
8
9 return num * func_iter(num - 1)
10
11# 执行过程:func_iter(4)*func_iter(3)*func_iter(2)*func_iter(1)
12
13# 执行结果:4*3*2*1
入口函数
1if __name__ == '__main__':
2
3 print(func_for(4))
4
5 print(func_iter(4))