• Будем рассматривать только строчки, состоящие из заглавных латинских букв. Например, рассмотрим строку AAAABCCCCCDDDD. Длина этой строки равна 14. Поскольку строка состоит только из латинских букв, повторяющиеся символы могут быть удалены и заменены числами, определяющими количество повторений.
    Таким образом, данная строка может быть представлена как 4AB5C4D. Длина такой строки 7. Описанный метод мы назовем упаковкой строки.

    Напишите программу, которая берет упакованную строчку и восстанавливает по ней исходную строку.

    Входные данные


    Одна упакованная строка. В строке могут встречаться только конструкции вида nA, где n - количество повторений символа (целое число от 2 до 99), а A - заглавная латинская буква, либо конструкции вида A, то есть символ без числа, определяющего количество повторений. Максимальная длина строки не превышает 80.

    Выходные данные

    Выведите восстановленную строку. При этом строка должна быть разбита на строчки длиной ровно по 40 символов (за исключением последней, которая может содержать меньше 40 символов).

    Примеры

    Вход Выход
    3A4B7D AAABBBBDDDDDDD
    22D7AC18FGD DDDDDDDDDDDDDDDDDDDDDDAAAAAAACFFFFFFFFFF
    FFFFFFFFGD
    95AB AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAB

Ответы 1

  • # Python 3.Xsource = input('Введите строку: ')ret = ''for idx, char in enumerate(source):    try:        next = source[idx + 1]        if char.isdigit() and next.isdigit():            qt = 10 * int(char) + int(next)            next = source[idx + 2]        else:            qt = int(char)    except:        ret += char    else:        ret += next * (qt - 1)print('Ответ:', ret)
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years