代码12是什么?
def factorial(n):
"""
计算 n 的阶乘。
参数:
n:要计算阶乘的数字。
返回值:
n 的阶乘。
"""
if n == 0:
return 1
elif n == 1:
return 1
else:
return n * factorial(n-1)
print(factorial(5))
代码解释:
-
factorial
函数接受一个整数n
作为参数。 -
如果
n
是 0 或 1,则返回 1。这是因为 0! 和 1! 都定义为 1。 -
如果
n
是大于 1 的正整数,则递归调用factorial(n-1)
,并乘以n
。 -
递归结束后,返回
n
的阶乘。 -
在主程序中,我们调用
factorial(5)
,并打印结果。输出为 120,这是 5 的阶乘。
注意:
-
factorial
函数会递归调用自身,这可能会导致栈溢出。 - 阶乘可能非常大,因此在计算过程中需要使用适当的算法来避免溢出。