Подтвердить что ты не робот

"Объект" генератор "не подлежит индексированию"

Я получаю эту ошибку при попытке решить Project Euler Problem 11 для части моего кода здесь.

for x in matrix:
    p = 0
    for y in x:
        if p < 17:
            currentProduct = int(y) * int(x[p + 1]) * int(x[p + 2]) * int(x[p + 3])
            if currentProduct > highestProduct:
                print(currentProduct)
                highestProduct = currentProduct
        else:
                break
            p += 1

Мне пришлось делать кастинг типов, потому что его все еще строка в списке, но я не думаю, что это вызывает проблему.

Забыл упомянуть, но он работает некоторое время во время тестирования, но решает уйти к концу, после того, как 340 пройдет.

4b9b3361

Ответ 1

Независимо от того, что x является объектом generator, но вы пытаетесь получить доступ к элементу, как если бы это был список (x[p + 1]). Если вы поместите x = list(x) в строку перед for y in x, это должно исправить ее.