
Задача по теме: "строковая обработка"
Текстовый файл 24p-30.txt состоит из символов A, B и C. В прилагаемом файле определите максимальное количество символов в непрерывной подпоследовательности, состоящей из идущих подряд групп символов ABC в указанном порядке. При этом в начале и в конце искомой последовательности группа символов ABC может быть неполной. Искомая подпоследовательность должна содержать не менее одной полной группы символов ABC. Например, условию задачи удовлетворяют: BCABCABCA; CABCAB и т.п. Для выполнения этого задания следует написать программу.


Решение:
Решение программой:
s = open('24p-30.txt').readline()
l = maxl = 1
for i in range(1,len(s)):
if s[i-1:i+1] in 'ABCA':
l += 1
else:
maxl = max(maxl, l)
l = 1
print(maxl)
Разберём код:
-
Считывается строка
s
из файла'24p-30.txt'
. -
Инициализируются переменные
l
иmaxl
значением 1. Переменнаяmaxl
будет содержать максимальную длину последовательности, аl
- длину текущей последовательности. -
Запускается цикл по индексам строки
s
от 1 доlen(s) - 1
:-
На каждой итерации проверяется, является ли текущая подстрока
s[i-1:i+1]
одной из допустимых последовательностей 'AB', 'BC' или 'CA'. -
Если условие выполнено, увеличивается длина текущей последовательности
l
на 1. -
Если условие не выполнено (то есть текущая последовательность нарушена), сравнивается длина текущей последовательности
l
с максимальной длинойmaxl
, и обновляетсяmaxl
, если необходимо. Затемl
сбрасывается в 1 для начала подсчета новой последовательности.
-
-
После завершения цикла выводится значение переменной
maxl
, которая содержит максимальную длину подстроки, удовлетворяющей условиям задачи.
Ответ: 15
Сообщение об ошибке
Расскажите, в каком месте допущена ошибка, мы как можно быстрее её исправим. Спасибо за обратную связь!

МГ | Pro | ProMax | |
Практика на платформе | |||
Отслеживание прогресса обучения | |||
Двухуровневое домашнее задание после каждого вебинара | |||
Все материалы составлены экспертом ЕГЭ | |||
Персональный менеджер | |||
Личный куратор | |||
Разбор ошибок личным куратором | |||
Еженедельные созвоны с куратором для закрытия индивидуальных пробелов | |||
Составление индивидуального расписания |

счёта
средств
подтверждено!
Теперь вы можете приступить
к следующему уроку
курса по математике
замены
Для смены номера телефона
мы отправили Вам код по СМС,
введите его в поле ниже.
Электронная почта
На почту придет чек об оплатеНажимая кнопку "купить", Вы выражаете своё согласие с офертой оказания услуг и принимаете их условия
Здравствуйте!
Выберите информацию о себе ниже

Оплата прошла успешно!
