Найти в Дзене

Разбор номера 21421 #kege по информатике #ЕГЭ24

Оглавление

Автор: Досрочная волна 2025
Уровень: Базовый

Условие задачи:

Текстовый файл состоит из символов, обозначающих десятичные цифры и заглавные буквы латинского алфавита.
Определите в прилагаемом файле максимальное количество идущих подряд символов, которые могут представлять запись чётного числа в двенадцатеричной системе счисления. В этой записи отсутствуют незначащие (ведущие) нули.

Теоретическая справка:

Регулярные выражения стали еще одним шагом ФИПИ к усложнению 24 номера, поэтому на канале постараюсь почаще публиковать решения через библиотеку re.

Обратите внимание на строчку номер 8 - настоятельно рекомендую не пропускать этот шаг, чтобы визуально можно было проверить вывод своей программы!

Код решения:

Ответ: 19
Ответ: 19

Комментарии к коду:

  1. from re import *
    Импортирует все функции из модуля регулярных выражений re.
  2. s = open('24.txt').readline()
    Открывает файл '24.txt', считывает первую строку и сохраняет её в переменную s.
  3. num = r'([1-B][0-B]*[02468A]|[0-B])'
    Создаёт шаблон регулярного выражения, который ищет либо последовательность, начинающуюся с символа от 1 до B, содержащую любое количество символов от 0 до B и заканчивающуюся чётным символом (0,2,4,6,8,A), либо одиночный символ от 0 до B.
  4. M = [x.group() for x in finditer(num, s)]
    Находит все совпадения с шаблоном num в строке s и создаёт список M из найденных совпадений, используя генератор списка и метод group().
  5. maxi = 0
    Инициализирует переменную maxi значением 0 для хранения максимальной длины найденной последовательности.
  6. for x in M:
    Начинает цикл, который перебирает все найденные последовательности в списке M.
  7. maxi = max(maxi, len(x))
    Обновляет значение maxi, выбирая максимум между текущим значением maxi и длиной текущей последовательности x.
  8. print(x)
    Выводит текущую последовательность x на экран.
  9. print(maxi)
    После завершения цикла выводит максимальную длину найденной последовательности.
Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨‍💻
Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻  Вы найдете тут много полезного!