用python先编写一个求正整数n 的阶乘(n!)的函数。用户输入n 后,再调用该函数计算: 1+1/2!+1/3!+…1/n!上的结果。(要求结果保留 2位有效数宇)
时间: 2024-03-10 11:48:54 浏览: 87
Math Сalculating_Factorial_mathfunctions_transposematrices_源码
好的,以下是使用Python实现的代码:
```python
import math
# 计算n的阶乘
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 计算1+1/2!+1/3!+…1/n!
def sum_factorial(n):
sum = 0
for i in range(1, n+1):
sum += 1 / factorial(i)
return round(sum, 2)
# 用户输入n
n = int(input("请输入一个正整数:"))
# 调用函数计算1+1/2!+1/3!+…1/n!
result = sum_factorial(n)
# 输出结果
print("1+1/2!+1/3!+…1/n!的结果为:", result)
```
代码的原理是,先定义一个求正整数n的阶乘的函数factorial,然后定义一个计算1+1/2!+1/3!+…1/n!的函数sum_factorial。在sum_factorial函数中,使用for循环计算1+1/2!+1/3!+…1/n!的值,并使用round函数保留2位有效数字。最后,用户输入n后,调用sum_factorial函数计算1+1/2!+1/3!+…1/n!的值,并输出结果。
阅读全文