python编写程序,有数列2/1、3/2、5/3、8/5、13/8....,求该数列的前n项之和,其中n的值由键盘输入。
时间: 2024-01-11 20:02:55 浏览: 73
python 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和 (示例)
5星 · 资源好评率100%
可以使用循环来计算数列的前n项之和。具体代码如下:
```python
n = int(input("请输入n的值:"))
sum = 0
a = 2
b = 1
for i in range(n):
sum += a / b
a, b = a + b, a
print("数列的前", n, "项之和为:", round(sum, 2))
```
首先,我们通过 `input()` 函数获取用户输入的n值,并将其转换为整数类型。然后,定义一个变量 `sum` 来存储数列前n项之和,并初始化为0。接下来,我们定义两个变量 `a` 和 `b` 分别代表数列中的分子和分母,并将它们初始化为2和1。
接着,我们使用 `for` 循环来计算数列前n项之和。在每次循环中,我们将当前项的分数加入到 `sum` 中,并更新 `a` 和 `b` 的值。具体来说,我们先计算 `a / b` 的值,并将其加入 `sum` 中。然后,我们将 `a` 的值更新为 `a + b`,`b` 的值更新为原来的 `a`,以便计算下一项。最后,我们使用 `round()` 函数将结果保留两位小数,并输出结果。
需要注意的是,这个数列的分子和分母是由斐波那契数列得到的,即每一项都是前两项之和。因此,在循环中我们使用了 `a + b` 和 `a` 来更新 `a` 和 `b` 的值。
阅读全文