Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах и
обозначают цепочки цифр.
А)
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку
Например, выполнение команды
преобразует строку в строку
Если в строке нет вхождений цепочки то выполнение команды заменить
не меняет эту строку.
Б)
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение
, в противном случае возвращает значение
. Строка исполнителя при этом не изменяется.
Цикл
выполняется, пока условие истинно.
Какая строка получится в результате применения приведённой ниже программы к строке вида , состоящей из
единиц,
троек и
двоек?
s = "1" * 170 + "3" * 100 + "2" * 7
while "11" in s:
s = s.replace("112", "4", 1)
s = s.replace("113", "2", 1)
s = s.replace("42", "3", 1)
s = s.replace("43", "1", 1)
print(s)