Прохожу курс на Stepik. Почему выдается ошибка list index out of range?
Ошибка потому, что вы перепутали,  что такое у вас  i. 
Сначала это у вас один из элементов списка чисел; а потом вы его считаете индексом. 

Рекомендую перестать использовать однобуквенные имена переменных и не лениться называть их по смыслу. Не for i in a:
а лучше:
for next_element in my_massive:

Тогда уж вы не перепутали бы и не стали бы обращаться к my_massive[next_element - 1]
Разве на курсах не должно быть наставника, который должен помогать с вопросами по материалу? За это так-то и платятся деньги.