Как перевести натуральные числа из списка в целые?

Дан список, где элементы всегда не больше 18: [1, 2, 15, 1, 5, 18, 11]

Необходимо преобразовать список таким образом, чтобы получилось следующее: [1, 2, 1, 6, 5, 1, 1, 9] Здесь каждый второй символ числа, переходит в следующий до тех пор, пока список не окончится.

Пробовал делать сам, но постоянно выдает ошибку в 6 строке: object 'int' is not subscriptable

for j in list_2:
    ind_2 = list_2.index(j)
    if j >= 10:
        w = j//10
        v = j%10
        j, j[ind_2+1] = w, j[ind_2+1]+v
    else:
        j = j
    list_3.append(j)

print(list_3)

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

Автор решения: CrazyElf

Вроде тут всё просто, вам нужно просто подумать и запрограммировать. У вас в коде много лишнего, всё, что вам нужно, это переменная-аккумулятор и текущий обрабатываемый индекс в списке. Псевдокод на псевдо-питоне:

аккумулятор = 0
индекс = 0
новый_список = пустой_список
пока индекс меньше размера списка:
    прибавляем к аккумулятору число из списка, взятое по индексу
    если аккумулятор < 10
        добавить аккумулятор в новый_список
        аккумулятор = 0
    иначе
        добавить аккумулятор // 10 в новый_список
        аккумулятор = аккумулятор % 10
    увеличиваем индекс на 1
если аккумулятор > 0
    добавить аккумулятор в новый_список

Как-то так вроде должно сработать.

→ Ссылка