小编Who*_*erg的帖子

使用Python中的Reduce函数求阶乘

您好,我正在尝试编写一个函数来查找任何给定数字的阶乘积。例如,对于阶乘 (6),我将得到 6*5*3*2*1 的乘积。

因此对于阶乘(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)))
Run Code Online (Sandbox Code Playgroud)

但我不断收到一个错误,指出 Python 需要 2 个参数,但给出了 1 个参数。我知道我必须以range某种方式使用,但我无法弄清楚。如何编辑现有代码以使其正常运行?

python reduce map factorial

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

factorial ×1

map ×1

python ×1

reduce ×1