用python本关任务:编程计算 1− 1/2 + 2/3 − 3/5 + 5/8 − 8/13 +……的前n项之和,其中n由用户输入(n>0),结果用str.format()方法保留6位小数进行输出。
时间: 2024-10-01 20:10:52 浏览: 43
Python快速编程入门的课后习题答案(本人原创,通过测试完整准确)
在Python中,你可以使用循环结构和条件判断来计算这个无限级数的前n项之和,因为这是一个交错级数,每个分数是奇数分母减去偶数分母的形式。虽然实际上这个级数是一个著名的黄金分割比(phi)的倒数,但我们这里可以按常规算法编写。以下是实现代码:
```python
def calculate_sum(n):
numerator = 1
denominator = 1
total = 1 - 1/2 # 初始化总和为第一项
for i in range(2, n+1):
if i % 2 == 0: # 如果是偶数项
denominator += 2
total -= (numerator / denominator)
else: # 如果是奇数项
denominator += 2
total += (numerator / denominator)
return '{:.6f}'.format(total) # 使用str.format()保留6位小数
# 获取用户输入
n = int(input("请输入正整数n(n > 0): "))
result = calculate_sum(n)
print(f"前{n}项之和为: {result}")
阅读全文