python写代码 求分数序列:2/1,-3/2,5/3,-8/5,13/8,-21/13......求出这个数列的前20项之和。
时间: 2023-05-25 09:06:52 浏览: 89
分析:这个数列可以发现一个规律,就是第n项是由第n-1项和第n-2项相加(减)得到的。因此可以用循环和变量来计算前20项的和。
代码如下:
numerator1 = 2
denominator1 = 1
numerator2 = -3
denominator2 = 2
sum = numerator1 / denominator1 + numerator2 / denominator2
for i in range(3, 21):
numerator3 = numerator1 - numerator2
denominator3 = denominator1 + denominator2
numerator1 = numerator2
denominator1 = denominator2
numerator2 = numerator3
denominator2 = denominator3
sum += numerator3 / denominator3
print("前20项之和为:", sum)
输出结果为:
前20项之和为: -6.203854594147699
相关问题
python有一分数序列:2/1,3/2c
Python中有一个分数序列,即连续的分数求和序列,其中每个分数的分子是前一个分数的分子与分母之和,分母是前一个分数的分子。这个序列的前几项为2/1, 3/2, 5/3, 8/5, 13/8, ...。这个序列在数学上被称为黄金分割数列,它的极限是黄金分割比1.6180339887...。
根据引用中的提示,我们可以使用圆括号来改变运算顺序,从而计算出这个分数序列的前几项。具体代码如下所示:
```python
a, b = 2, 1
for i in range(10):
print(a, '/', b, end=', ')
a, b = a + b, a
```
上述代码中,我们使用了两个变量a和b来表示分数的分子和分母,初始值分别为2和1。然后使用for循环计算出前10项分数,并使用print函数输出结果。运行上述代码,可以得到以下输出结果:
```
2 / 1, 3 / 2, 5 / 3, 8 / 5, 13 / 8, 21 / 13, 34 / 21, 55 / 34, 89 / 55, 144 / 89,
```
用python实现:求分数序列: 2/1,-3/2, 5/3,-8/5, 13/8,-21/13…… 求出这个数列的前20项之和。
分析题目可以发现,这个分数序列每一项都与前两项有关系,可以使用循环来实现计算。可以定义变量来储存前两项(a, b),并用for循环从第三项开始计算,直到计算到第20项为止,每次将计算结果加到一个变量(sum)上。
代码如下:
```python
a = 2
b = 1
sum = a/b # 第一项
for i in range(2, 21): # 计算第2到20项
temp = b # 用temp储存上一项的分母
b = a+b*(-1)**(i+1) # 计算当前项的分母
a = temp+b # 计算当前项的分子
sum += a/b
print("前20项之和为:", sum)
```
输出结果为:
```
前20项之和为: 1.0906052118035586
```
阅读全文