从键盘任意输入一个自然数,利用reduce()函数计算该数的阶乘。
时间: 2024-10-11 11:07:28 浏览: 11
要计算一个自然数的阶乘,我们可以使用Python中的`reduce()`函数。首先,我们需要导入`functools`模块,因为`reduce()`函数在Python 3中被移到了该模块中。
假设我们要计算的自然数是$n$,那么它的阶乘可以表示为:
$$ n! = n \times (n-1) \times (n-2) \times \cdots \times 1 $$
下面是具体的实现步骤:
1. 导入`functools`模块。
2. 定义一个函数,用于计算两个数的乘积。
3. 使用`range()`函数生成从1到$n$的整数序列。
4. 使用`reduce()`函数将上述序列进行累积乘积运算。
以下是代码示例:
```python
from functools import reduce
def multiply(x, y):
return x * y
n = int(input("请输入一个自然数: ")) # 从键盘输入一个自然数
factorial = reduce(multiply, range(1, n + 1)) # 计算该数的阶乘
print(f"{n}! = {factorial}") # 输出结果
```
解释:
1. `multiply`函数用于实现两个数的乘法操作。
2. `range(1, n + 1)`生成从1到$n$的整数序列。
3. `reduce(multiply, range(1, n + 1))`将序列中的每个元素依次传递给`multiply`函数进行乘积运算,最终得到$n$的阶乘。
例如,如果输入的自然数是5,则计算过程如下:
$$ 5! = 5 \times 4 \times 3 \times 2 \times 1 = 120 $$
阅读全文