Форум сайта python.su
Здравствуйте, сорри за наглеж
Пытаюсь решить проблему с i, который при при конечной 2 выходит за границу массива
Уже попытался перестроить цикл, чтобы он не утыкался в эту последнюю 2, но все бестолку
import random marks = [] for i in range (1,11): marks.append (random.randint(2,5)) print (marks, end=' ') summ=0 for i in range (1, len(marks)): if marks [i] == 2 and i == len(marks) : summ += marks[i] elif marks[i]== 2 and i != len(marks): if marks [i+1] == 2: summ += 0 elif marks[i+1] != 2: summ+= marks [i] else: summ+= marks[i] print () print (int (summ // len(marks)))
Отредактировано FishHook (Авг. 19, 2020 18:07:30)
Офлайн
Zorger
Дайте пожалуйста условие задачи, в общем то непонятно, что вы делаете вообще
Отредактировано FishHook (Авг. 20, 2020 11:11:09)
Офлайн
if marks [i+1] == 2:
>>> a = [5, 3, 2, 2, 2, 3, 5, 2, 3, 3] >>> len(a) 10 >>> a [10] Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> a [10] IndexError: list index out of range >>>
elif marks[i]== 2 and i != len(marks):
if marks [i+1] == 2:
Отредактировано marvellik (Авг. 19, 2020 18:18:38)
Офлайн
if marks[I] == 2 and i < (Len(marks) -1 )
Офлайн
ZerGнаверно просто
if marks == 2 and i < (Len(marks) -1 )
and i < (Len(marks))
Отредактировано marvellik (Авг. 19, 2020 20:28:00)
Офлайн
не хотел менять условия.
Офлайн