Ошибка в строке с вычислением b[i]

Написал код:

from array import *
a=array('d', [])`введите сюда код`
for i in range(5):
    print('Введите ',i,'-й элемент массива')
    a.append(float(input()))
i=1   
for i in range(5):
    print(a[i])
print('теперь искомые значения:')
b=array('d', [])
for i in range (5):
    b[i]=1-(a[i+1]/a[i])
    print(b[i])

отказывается считать b[i]

Не могу понять, как задать переменную i перед циклом так, чтобы отсчёт начинался с 1, а не с 0


Ответы (1 шт):

Автор решения: Stanislav Volodarskiy
import sys


def floats():
    for line in sys.stdin:
        yield from map(float, line.split())


it = floats()
prev_x = next(it)
for x in it:
    print(1 - x / prev_x)
    prev_x = x
$ python calc.py
1 2 3 4 5
-1.0
-0.5
-0.33333333333333326
-0.25
$ echo 10 9 8 7 6 5 4 3 2 1 | python calc.py
0.09999999999999998
0.11111111111111116
0.125
0.1428571428571429
0.16666666666666663
0.19999999999999996
0.25
0.33333333333333337
0.5
→ Ссылка