给出数字“ n”,使用reduce()输出其阶乘。
注意:确保处理零的边缘情况。如您所知,0! = 1
from functools import reduce
n = int(input())
f = reduce(lambda n : n * (n - 1) if n > 1 else n)
print(f)
此外,我需要以下提到的此类型错误的帮助
TypeError: reduce expected at least 2 arguments, got 1
答案 0 :(得分:0)
reduce
需要两个参数。首先是需要两个参数的函数,其次是可迭代的。正确的代码应该是这样的。
from functools import reduce
n = int(input())
f = 1 if n == 0 else reduce(lambda a, b : a*b, range(1, n+1))
print(f)