Теория:
Характеристика задания
1. Тип ответа: числовой ответ.
2. Структура содержания задания: дан текстовый файл.
3. Уровень сложности задания: высокий.
4. Примерное время выполнения: \(18\) минут.
5. Количество баллов: \(1\).
6. Требуется специальное программное обеспечение: среда программирования.
7. Задание проверяет умение создавать программы для обработки символьной информации.
Пример задания (демоверсия \(2022\))

Рис. \(1\). Пример задания
Файл: 24.txt.
Важно помнить, что строки в Python относятся к категории неизменяемых последовательностей, то есть все функции и методы могут лишь создавать новую строку.
Основныефункции и методы строк
| \(s1 + s2\) | конкатенация (сложение строк) |
| \(s * n\) | повторение строки \(s\)\(n\) раз |
| \(s[i] \) | обращение по индексу |
| \(s[i:j:step]\) | извлечение среза |
| \(len(s)\) | длина строки \(s\) |
| \(s.replace\) («слово1», «слово2»\([, mx]\)) | заменяет «слово\(1\)» на «слово\(2\)», \(mx\) (необязательный параметр) ограничивает количество замен |
| \(s.split\) («символ») | разбиение строки по разделителю «символ» |
| \(s.count(str)\) | возвращает количество непересекающихся вхождений подстроки \(str\) |
Для решения задачи напишем программу.
| with open («\(24.txt\)») as \(f\): \(s=f.readline()\) | Считаем данные из файла в переменную \(s\) |
| \(k, m = 1, 1\) | В переменной \(k\) будем накапливать текущую длину цепочки, в переменной \(m\) — сохранять максимальную длину |
| for \(i\) in range (\(len(s)-1\)): if \(s[i]==«P»\) and \(s[i+1]==«P»\): \(k=1\) else: \(k = k+1\) \(m=max(m, k)\) | С помощью цикла \(for\) будем перебирать символы строки \(s\). Если соседние символы равны \(P\), то текущая длина цепочки \(k\) получает значение \(1\), иначе \(k\) увеличим на \(1\) и в переменную \(m\) сохраним максимальное значение |
| print (\(m\)) | Выведем на экран значение \(m\) |
Ответ: \(188\).
Источники:
Рис. 1. Пример задания. © ЯКласс.