Что нужно сделать
С увеличением объёма данных возникла потребность в сжатии этих данных без потери важной информации. Для этого было придумано кодирование, которое осуществляется следующим образом:
s = 'aaaabbсaa'
преобразуется в 'a4b2с1a2'
, то есть группы одинаковых символов исходной строки заменяются на этот символ и количество его повторений в этой позиции строки.
Напишите программу, которая считывает строку, кодирует её предложенным алгоритмом и выводит закодированную последовательность на экран. Кодирование должно учитывать регистр символов.
Пример:
Введите строку: aaAAbbсaaaA
Закодированная строка: a2A2b2с1a3A1
Что оценивается
- Результат вычислений корректен.
- input содержит корректные приглашения для ввода.
- Формат вывода соответствует примеру.
- Переменные и функции имеют значащие имена, не только a, b, c, d
user_string = input('Введите строку: ')
temp = ''
broken = ''
new_string = ''
for i in user_string:
if i != temp:
broken += ' ' + i
temp = i
else:
broken += i
for i in broken.split():
new_string += str(i[0]) + str(len(i))
print('Закодированная строка: ', new_string)