9. Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. заменить (v, w) нашлось (v) Дана программа для исполнителя Редактор: НАЧАЛО ПОКА нашлось (222) ИЛИ нашлось (888) ПОКА нашлось (555) заменить (555, 8) КОНЕЦ ПОКА ЕСЛИ нашлось (222) ТО заменить (222, 8) ИНАЧЕ заменить (888, 2) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ Дана строка, состоящая из 21 цифры, причем первые три цифры — двойки, а остальные — пятерки. Какая строка получится в результате применения программы к данной строке?
Python:
s = '2' * 3 + '5' * 18
while '222' in s or '888' in s:
if '555' in s:
s = s.replace('555', '8', 1)
elif '222' in s:
s = s.replace('222', '8', 1)
else:
s = s.replace('888', '2', 1)
print(s)