接收任意一自然数 n(n<30),1!+2!+3!+……+n!的结果
时间: 2023-10-01 13:06:48 浏览: 48
以下是接收任意一个自然数 n,并输出 1! 2! 3! …… n! 的结果的 Python 代码:
```python
n = int(input("请输入一个自然数 n(n<30): "))
factorial = 1
for i in range(1, n+1):
factorial *= i
print(str(i) + "!=" + str(factorial))
```
这段代码首先接收一个自然数 n,然后使用 for 循环计算 1! 2! 3! …… n! 的结果,并在每次循环中输出当前的阶乘结果。需要注意的是,由于 Python 中的 range 函数只会生成到 n-1 的整数序列,因此在循环中需要使用 range(1, n+1) 来生成 1 到 n 的整数序列。
相关问题
编写函数,接收任意一自然数 n(n<30),1!+2!+3!+……+n!的结果。(提示使用 reduce() 函数)
```python
from functools import reduce
def factorial(n):
return reduce(lambda x, y: x*y, range(1, n+1))
n = int(input("请输入一个自然数n(n<30): "))
result = factorial(n)
print(f"1! 2! 3! …… {n}! 的结果为:{result}")
```
输入一个自然数n,计算1!+2!+……+n!Python
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
n = int(input("请输入一个自然数n: "))
sum = 0
for i in range(1, n+1):
sum += factorial(i)
print(sum)