def encode_string(s):
if not s:
return ""
encoded = ""
prev_char = s[0]
count = 1
for i in range(1, len(s)):
if s[i] == prev_char:
count += 1
else:
encoded += prev_char + str(count)
prev_char = s[i]
count = 1
encoded += prev_char + str(count) # Добавляем последний символ и его количество
return encoded
input_string = input("Введите строку: ")
encoded_string = encode_string(input_string)
print("Закодированная строка:", encoded_string)
Из-за того, что объём данных увеличился, понадобилось сжать эти данные, но так, чтобы не потерять важную информацию. Для этого было придумано специальное кодирование: s = 'aaaabbсaa' преобразуется в 'a4b2с1a2'. То есть группы одинаковых символов исходной строки заменяются на эти символы и количество их повторений в строке.
Напишите программу, которая считывает строку, кодирует её, используя предложенный алгоритм, и выводит закодированную последовательность на экран. Код должен учитывать регистр символов.
Пример
Введите строку: aaAAbbсaaaA.
Закодированная строка: a2A2b2с1a3A1.