Найти в Дзене

Задачи с несколькими строками в №24

👋 Последние годы составители постоянно издеваются над 24 заданием, именно из-за него многие попадают в клуб "98", поэтому я даю своим ребятам не только типы с реальных ЕГЭ, но и немного экзотики, чтобы быть готовым ко всему, а сегодня расскажу и вам) ✅ Повторяющиеся комбинации ✅ Запрещённые комбинации ✅ Ограниченное количество ✅ Сложные шаблоны 👉 Несколько строк (сейчас) 🔜 Частотный анализ Обычно в файле для №24 дана одна строка, и надо что-то делать с ней, но в старых вариантах СтатГрад встречались задачи с несколькими строками. Далеко не факт, что несколько строк могут быть на ЕГЭ, но какие-то элементы этих задач - вполне. Поэтому давайте разбираться, и начнем как всегда с главного - с практики. Разберем сегодня 2 задачи. 1️⃣№24.30001 с bank-kege.ru: Текстовый файл содержит строки различной длины. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). Определите количество строк, в которых буква A встречается чаще, чем буква E. Идея: перебираем строки файла циклом

Задачи с несколькими строками в №24

👋 Последние годы составители постоянно издеваются над 24 заданием, именно из-за него многие попадают в клуб "98", поэтому я даю своим ребятам не только типы с реальных ЕГЭ, но и немного экзотики, чтобы быть готовым ко всему, а сегодня расскажу и вам)

Повторяющиеся комбинации

Запрещённые комбинации

Ограниченное количество

Сложные шаблоны

👉 Несколько строк (сейчас)

🔜 Частотный анализ

Обычно в файле для №24 дана одна строка, и надо что-то делать с ней, но в старых вариантах СтатГрад встречались задачи с несколькими строками. Далеко не факт, что несколько строк могут быть на ЕГЭ, но какие-то элементы этих задач - вполне. Поэтому давайте разбираться, и начнем как всегда с главного - с практики. Разберем сегодня 2 задачи.

1️⃣№24.30001 с bank-kege.ru:

Текстовый файл содержит строки различной длины. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). Определите количество строк, в которых буква A встречается чаще, чем буква E.

Идея: перебираем строки файла циклом for, проверяем условие и увеличиваем счетчик подходящих строк. Для проверки условия количества E и A будем считать методом count()

Код:

file = open('24.30001.txt')

cnt = 0

for line in file:

if line.count('A') > line.count('E'):

cnt += 1

print(cnt)

2️⃣ №24.30009 с bank-kege.ru:

Текстовый файл содержит строки различной длины. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). В строках, содержащих менее 25 букв A, нужно определить и вывести максимальное расстояние между одинаковыми буквами в одной строке.

Идея: Расстояние между буквами - это разность индексов. Индекс самого левого символа в строке будем находить методом index(), а самого правого - rindex(). Будем перебирать строки файла циклом for, проверять условие про А, вложено перебирать все символы латинского алфавита, для каждого из них находить эту разность (если он вообще встречается) и обновлять максимум. Большой латинский алфавит лежит в переменной ascii_uppercase библиотеки string.

Код:

from string import ascii_uppercase

file = open('24.30009.txt')

mx = 0

for line in file:

if line.count('A') < 25:

for symb in ascii_uppercase:

if symb in line:

mx = max(mx, line.rindex(symb) - line.index(symb))

print(mx)

Идея с index()/rindex() из второй задачи точно стоит внимания, хоть тип и не ЕГЭшный, базовые методы строк в этом задании всегда могут пригодиться! Да и по факту даже из одной строки нередко мы сами методом split() делаем несколько, так что в работе с несколькими строками ничего экзотического для нас быть не должно.

В домашку вам задачи №24.30002 и №24.30010 с bank-kege.ru) Обязательно порешайте и всё закрепите, можете делиться кодами в комментах! Ну и ставьте 🔥 за продолжение серии, тогда разбор последнего типа выйдет как можно скорее!

#информатика

#задание24