Задание №24: Обработка символьных строк
Основные типы и прототипы задания №24:
Цепочки символов фиксированного типа
Замена запрещённых пар
Чередующиеся гласные и согласные
Условие задания
(И. Карпачев) Текстовый файл 24-333.txt состоит не более чем из 106 символов и содержит только десятичные цифры, заглавные и прописные букв латинского алфавита, а также символы «@» и «.» (точка). Определите максимальное количество символов в непрерывной последовательности, которая является корректным почтовым адресом. Корректным почтовым адресом назовем адрес, в котором сначала указывается имя почтового ящика, затем следует символ «@», далее – сервер, на котором находится почтовый ящик. В данной задаче будем считать, что:
– в имени почтового ящика используются только символ «.» (точка), десятичные цифры и буквы латинского алфавита;
– серверу могут соответствовать только строки вида: «yandex.ru» или «gmail.com»;
– два символа «@» и «.» не могут следовать подряд друг за другом.
В ответе укажите количество символов. Например, для строки alex@@s..ch@gmail.com.runet@yandex.rubo@yandex.ru ответом будет число 25 – длина выделенной части, которая является правильным адресом.
– в имени почтового ящика используются только символ «.» (точка), десятичные цифры и буквы латинского алфавита;
– серверу могут соответствовать только строки вида: «yandex.ru» или «gmail.com»;
– два символа «@» и «.» не могут следовать подряд друг за другом.
В ответе укажите количество символов. Например, для строки alex@@s..ch@gmail.com.runet@yandex.rubo@yandex.ru ответом будет число 25 – длина выделенной части, которая является правильным адресом.
Ответ:
118
Шаблон решения на Python
# === Задание 24: Обработка символьных строк ===
with open('24.txt') as f:
s = f.read().strip()
# Пример: замена запрещённых комбинаций разделителем
s = s.replace('XX', 'X X')
segments = s.split(' ')
print("Максимальная длина подходящего фрагмента:", max(len(sub) for sub in segments))