Уровень: Базовый
Условие задачи:
Какая строка получится в результате применения приведённой ниже программы к строке,
состоящей из 81 идущей подряд цифре 1? В ответе запишите полученную строку.
ПОКА нашлось (11111) ИЛИ нашлось (888)
ЕСЛИ нашлось (11111)
ТО заменить (11111, 88)
ИНАЧЕ заменить (888, 8)
Теоретическая справка:
Предлагаю вам альтернативное решение базового 12 номера с использованием библиотеки re. Базовое решение оставлю в комментариях к этому посту!
Код решения:
Комментарии к коду:
- from re import *
Импортируем все функции и классы из модуля re, который предоставляет функциональность для работы с регулярными выражениями. - s = '1' * 81
Создаем строку s, состоящую из 81 символа '1'. - while '11111' in s or '888' in s:
Начинаем цикл, который продолжается до тех пор, пока строка s содержит подстроку '11111' или '888'. - s = sub('11111', '8', s, 1)
Заменяем первое вхождение подстроки '11111' на '8' в строке s. - s = sub('888', '8', s, 1)
Заменяем первое вхождение подстроки '888' на '8' в строке s. - print(s)
Выводим результирующую строку s после завершения цикла.