您好,我正在尝试编写一个函数来计算任意给定数字的阶乘积。例如,对于factorial(6),我将得到6 * 5 * 3 * 2 * 1的乘积。
因此,对于factorial(3),输出将为6。
到目前为止,我有以下功能:
import functools
def mult(x, y):
return x * y
def factorial(n):
if n == 0:
return 1
else:
functools.reduce(mult(n,factorial(n - 1)))
但是我一直收到一个错误,Python正在期望2个参数,但只给出了1个。我知道我必须以某种方式使用range
,但我无法弄清楚。如何编辑我的现有代码以使其正常运行?
range
。 - Padraic Cunningham