Как перевести натуральные числа из списка в целые?
Дан список, где элементы всегда не больше 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
добавить аккумулятор в новый_список
Как-то так вроде должно сработать.