Исполнитель Редактор получает на вход строку символов и преобразует её. Редактор может выполнять две команды, в обеих командах и
обозначают цепочки символов.
А) .
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку
. Например, выполнение команды
преобразует строку в строку
.
Если в строке нет вхождений цепочки , то выполнение команды
не меняет эту строку.
Б) .
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
выполняется, пока условие истинно.
Дана программа для редактора:
Сколько раз встретится буква в строке, полученной после выполнения алгоритма выше для строки состоящей из последовательности букв
повторяющейся
раз? В ответ укажите только число.
Для решения этого задания напишем программу:
# Создаем исходную строку
s = ’ABCDF’ * 60
# Аналог пока нашлось(AB)
while ’AB’ in s:
# Проводим замену по одному разу
s = s.replace(’A’, ’BB’, 1)
s = s.replace(’B’, ’CCC’, 1)
s = s.replace(’CCCCC’, ’AB’, 1)
s = s.replace(’DC’, ’DDF’, 1)
s = s.replace(’DF’, ’E’, 1)
print(s.count(’E’)) # Вывод количества символов E в строке