在【程序1-1】源代码的基础上继续改写,编程实现:从键盘输入n,然后计算并输出1+1/3+1/5+1/7+1/9……前n项的和。要求结果保留2位小数。
时间: 2024-11-28 16:28:15 浏览: 24
当然可以。在Python中,我们可以创建一个简单的函数来实现这个功能。首先,我们需要导入math模块,以便使用浮点数除法,并且使用`Decimal`模块来保证四舍五入到两位小数。下面是一个示例代码:
```python
from math import gcd
from decimal import Decimal, getcontext
def calculate_sum(n):
# 设置精度为两位小数
getcontext().prec = 2
def fraction_sum(i):
numerator = 1
denominator = 2 * i - 1
return Decimal(numerator) / Decimal(denominator)
total_sum = sum(fraction_sum(i) for i in range(1, n+1))
return round(total_sum, 2)
# 获取用户输入
n = int(input("请输入项数n: "))
# 计算并输出和
result = calculate_sum(n)
print("1到{}项的和为: {:.2f}".format(n, result))
阅读全文