← К задачам
Редактор: замены 12→2 и 21→1
Исполнитель Редактор обрабатывает строку двумя командами:
замена(v, w)— заменяет первое вхождение подстрокиvна строкуw;нашлось(v)— истина, если подстрокаvвстречается в строке.
Напишите функцию redaktor_dvuh_zamen(s), моделирующую программу:
ПОКА нашлось('12') ИЛИ нашлось('21')
ЕСЛИ нашлось('12')
ТО замена('12', '2')
ИНАЧЕ замена('21', '1')
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
Функция применяет команды, пока это возможно, и возвращает итоговую строку. Каждая замена укорачивает строку на один символ, поэтому цикл всегда завершается.
Вход: строка s из цифр 1 и 2 (может быть пустой).
Выход: строка после стабилизации.
Примеры:
redaktor_dvuh_zamen('1212')→'22'redaktor_dvuh_zamen('221')→'1'
def redaktor_dvuh_zamen(s):
# ваш код
pass
Для запуска тестов необходима авторизация.