@N56544

Как исправить ошибку «IndexError: list index out of range»?

Почему появляется ошибка IndexError: list index out of range в следующем куске кода?
def checkio(array: list) -> int:   
    return sum([v for k, v in enumerate(array) if k%2==0]) * array[-1]


Входные данные:
if __name__ == '__main__':
    print('Example:')
    print(checkio([0, 1, 2, 3, 4, 5]))    
    assert checkio([0, 1, 2, 3, 4, 5]) == 30, "(0+2+4)*5=30"
    assert checkio([1, 3, 5]) == 30, "(1+5)*5=30"
    assert checkio([6]) == 36, "(6)*6=36"
    assert checkio([]) == 0, "An empty array = 0"
    print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")


При условии, что если заменить умножение на сложение, то эта ошибка пропадает и вычисления проходят корректно.
def checkio(array: list) -> int:   
    return sum([v for k, v in enumerate(array) if k%2==0]) + array[-1]
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Последний элемент из пустого списка это какой?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы