代码12是如何生成的?
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
print(factorial(5))
代码解释:
-
factorial
函数接受一个整数n
作为参数。 -
如果
n
等于 0,则返回值 1,因为 0! 等于 1!。 -
如果
n
不是 0,则返回值n
的乘积,即n!
。n!
是n
的阶乘,它表示 1 x 2 x 3 x ... xn
。 -
递归调用
factorial(n-1)
,传递n-1
的整数。 -
在递归过程中,
factorial
函数累加所有乘积的结果,直到它返回n!
。 -
最后,在主程序中,调用
factorial(5)
,并打印其结果。
输出:
120
代码说明:
该代码使用递归算法来计算阶乘。阶乘是一个整数的乘积,例如 5! 等于 5 x 4 x 3 x 2 x 1。递归调用允许我们计算任意阶乘,但每次递归都会计算许多重复计算。