- 函数递归
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
res = factorial(7)
print(res)
5 * factorial(4)
4 * factorial(3)
3 * factorial(2)
2 * factorial(1)
factorial(1) ==>1等于1时候调用完成,开始返回
2*1 ==>2
3*2 ==>6
4*6 ==>24
5*24 ==>120
从内层返回
- for循环实现递归
def func(num):
result = 1
for i in range(num):
result *= i + 1 #
return result
res = func(5)
print(res)
3.匿名函数实现阶乘递归
f = lambda i: 1 if i<= 1 else f(i-1) * i
print(f)