RLE
Написать программу на языке python, собдюдающие данные условия;
RLE означает “run-length encoding” — это способ сокращённой записи последовательности чего угодно (в случае этой задачи — цифр), при котором для подряд идущих группы одинаковых цифр (run) записываются длина этой группы (run length) и сама эта цифра. Таким образом, “99999” превратится в “5 9” («пять девяток»), и так далее. RLE широко используется в самых разных областях.

Напишите программу, которая кодирует строку цифр в RLE.

Формат ввода
Строка цифр длиной не меньше 1.

Формат вывода
Пары: количество повторений цифры подряд в введённой строке и сама цифра, как описано в условии и показано в примере.

Пример
Ввод Вывод
010000100001111111110111110000000000000011111111
1 0
1 1
4 0
1 1
4 0
9 1
1 0
5 1
14 0
8 1


maksbudylin644: ща

Ответы

Ответ дал: HP2020
3

Проходим по строке, запоминая текущий символ и сколько раз он уже повторился. Если следующий символ такой же, то просто увеличиваем длину серии на 1, если нет - выводим информацию про серию и начинаем новую. Надо не забыть корректно обработать последний символ - после него серия также заканчивается.

Код (Python 3):

s = input()

current_digit, count = None, 0

for digit in s:

   if current_digit != digit:

       if count > 0:

           print(count, current_digit)

       current_digit, count = digit, 1

   else:

       count += 1

print(count, current_digit)


yestopacc: Спасибо большое, ты мне очень помог!=)
Вас заинтересует