f9代码是如何产生的?
代码:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
print(factorial(5))
输出:
120
代码解释:
-
factorial()
函数接受一个整数n
作为参数。 -
如果
n
等于 0,则返回值 1,因为 0! 等于 1!。 -
如果
n
不为 0,则返回值n
的乘积,即n!
。n!
是n
的阶乘,它表示 1 x 2 x 3 x ... xn
。 -
递归地调用
factorial()
函数来计算n
的阶乘。 -
在最后,打印
factorial(5)
的结果,即 120。
代码背后的原理:
factorial()
函数使用递归来计算阶乘。递归的思想是重复地调用一个函数来计算子问题的答案,直到最终求解子问题的答案。
在该代码中,factorial()
函数递归地调用它自身来计算 5 的阶乘。每次递归调用后,函数返回乘积,直到最终计算 5 的阶乘。