Узнав, что ДНК не является случайной строкой, только что поступившие в Институт биоинформатики студенты группы информатиков предложили использовать алгоритм сжатия, который сжимает повторяющиеся символы в строке.
Кодирование осуществляется следующим образом:
s = ‘aaaabbсaa’ преобразуется в ‘a4b2с1a2’, то есть группы одинаковых символов исходной строки заменяются на этот символ и количество его повторений в этой позиции строки.
Напишите программу, которая считывает строку, кодирует её предложенным алгоритмом и выводит закодированную последовательность на стандартный вывод. Кодирование должно учитывать регистр символов.
с решением помогли, но я не понимаю почему х = 1, мы же сравниваем первый и второй символ, а первый символ в строке 0. В чем логика?????
Решение:
message = str(input())
cnt = 1
x = 1
j = message (x:x+1)
for i in message:
if i in j:
cnt += 1
else:
print(i, end='')
print(cnt, end='')
cnt = 1
x += 1
j = message (x:x+1)
# скобки квадратные