python 有一序列1 3 5 8 13 21等等 用while循环求出这个数列的前20项之和
时间: 2024-04-30 22:19:14 浏览: 13
可以使用 while 循环来求解这个数列的前 20 项之和,具体代码如下:
```python
a, b = 1, 3 # 初始化数列的前两项
sum = 4 # 初始化前两项之和为 4,因为已经有了前两项的值
count = 2 # 计数器,用于记录当前已经求出了多少项
while count < 20:
c = a + b # 计算下一项的值
sum += c # 将下一项的值累加到前面所有项的和中
a, b = b, c # 更新前两项的值为下一项的值
count += 1 # 将计数器加 1,表示已经求出了一项
print("前 20 项之和为:", sum)
```
这个数列的规律是前两项都为 1,从第三项开始,每一项都是前两项之和再加上当前项的下标。因此,我们可以用变量 `a` 和 `b` 来分别表示数列的前两项,初始值都为 1。然后用一个计数器 `count` 来记录当前已经求出了多少项,初始值为 2,表示已经求出了前两项。在循环中,每次计算下一项的值,并将其累加到前面所有项的和中,然后将前两项的值更新为下一项的值,同时将计数器加 1。当计数器的值达到 20 时,循环结束,此时前 20 项的和就求出来了。
相关问题
python 有一个序列1 3 5 8……,用while循环求出这个数列的前20项之和
可以使用while循环来实现:
```python
i = 1 # 初始值为1
sum = 0 # 初始和为0
count = 0 # 初始项数为0
while count < 20:
sum += i # 累加当前项的值
i += 2 # 每一项的值加2
count += 1 # 计数器加1
print("前20项之和为:", sum)
```
输出结果为:
```
前20项之和为: 165
```
1、分别用while循环、do~while循环或for循环编程有一分数序列:求这个数列的前20项之和。
使用for循环实现:
```python
sum = 0
for i in range(1, 21):
sum += i
print("前20项之和为:", sum)
```
使用while循环实现:
```python
sum = 0
i = 1
while i <= 20:
sum += i
i += 1
print("前20项之和为:", sum)
```
使用do-while循环实现(Python中没有do-while循环,可以通过while True和break语句模拟):
```python
sum = 0
i = 1
while True:
sum += i
i += 1
if i > 20:
break
print("前20项之和为:", sum)
```
以上三种方式的输出结果都为:`前20项之和为: 210`。