ЕГЭ информатика 9 задание разбор, теория, как решать.
ЕГЭ Информатика — Задание №9. Работа с таблицей (Python)
Тип задания: работа с таблицей, в каждой строке которой записано несколько чисел.
Необходимо найти количество или номер строк, для которых выполняются определённые условия.
Раньше такие задачи решались в Excel, но в Python их можно решать быстрее и надёжнее.
Как решать задание №9 с помощью Python
- Открываем файл построчно с помощью
for line in open('9.txt'). - Преобразуем строку в список чисел:
1a = [int(x) for x in line.split()] - Используем метод
count(), чтобы узнать, сколько раз встречается каждое число. - Создаём списки:
pov3— числа, встречающиеся трижды;pov2— числа, встречающиеся дважды;uniq— числа, встречающиеся один раз.
- Проверяем логические условия задачи: количество повторений, сравнение сумм, квадратов и т. д.
- Если условия выполняются, увеличиваем счётчик (
count += 1).
Если требуется найти номер строки — используем enumerate(),
если нужно посчитать количество строк — просто счётчик.
Универсальный шаблон решения
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
count = 0 for line in open('9.txt'): a = [int(x) for x in line.split()] pov3 = [x for x in a if a.count(x) == 3] # встречаются трижды pov2 = [x for x in a if a.count(x) == 2] # встречаются дважды uniq = [x for x in a if a.count(x) == 1] # уникальные числа # пример проверки условия if len(pov3) == 3 and len(uniq) == 3: if sum(pov3) ** 2 > sum(uniq) ** 2: count += 1 print(count) |
Такой код подходит почти ко всем типам задач №9.
Нужно только подставить свои условия в зависимости от формулировки.
Типичные условия в заданиях №9
- «одно число повторяется трижды, остальные различны» →
len(pov3)==3 and len(uniq)==3 - «минимальное число встречается два или три раза» →
a.count(min(a)) in (2,3) - «среднее арифметическое неповторяющихся меньше повторяющегося» →
sum(uniq)/len(uniq) < pov3[0] - «квадрат суммы повторяющихся больше квадрата суммы неповторяющихся» →
sum(pov3)**2 > sum(uniq)**2
📘 Пример 1. Демоверсия ЕГЭ 2025 — Задание №9
Условие:
Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел.
Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
- в строке только одно число повторяется трижды, остальные числа различны;
- квадрат суммы всех повторяющихся чисел строки больше квадрата суммы всех её неповторяющихся чисел.
В ответе запишите только число.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
count = 0 for line in open('9.txt'): nums = [int(x) for x in line.split()] # числа, которые повторяются трижды pov3 = [x for x in nums if nums.count(x) == 3] # числа, которые встречаются один раз uniq = [x for x in nums if nums.count(x) == 1] # проверка двух условий if len(pov3) == 3 and len(uniq) == 3: if sum(pov3) ** 2 > sum(uniq) ** 2: count += 1 print(count) |
Комментарий:
В каждой строке шесть чисел, одно число встречается трижды → значит, оно появится 3 раза в списке pov3.
Остальные три числа встречаются по одному разу → len(uniq) == 3.
Далее сравниваем квадраты сумм.
📗 Пример 2. СтатГрад Вариант ИН2510101 (23 октября 2025) — Задание №9
Условие:
Откройте файл электронной таблицы, содержащей в каждой строке восемь натуральных чисел.
Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
- в строке минимальное число встречается два или три раза, остальные числа без повторений;
- сумма квадратов минимального и максимального из неповторяющихся чисел не больше квадрата суммы других неповторяющихся чисел.
В ответе запишите только число.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
count = 0 for line in open('9.txt'): a = [int(x) for x in line.split()] uniq = [x for x in a if a.count(x) == 1] # 1) минимальное число встречается 2 или 3 раза if a.count(min(a)) in (2, 3): # 2) проверка неравенства для неповторяющихся чисел mn = min(uniq) mx = max(uniq) others = sum(uniq) - mn - mx if mn**2 + mx**2 <= others**2: count += 1 print(count) |
Комментарий:
В первой строке проверяем количество повторений минимального числа,
а во второй — используем стандартное неравенство с квадратами сумм.
💡 Полезные советы
- Перед запуском программы сохраните таблицу как текстовый файл (
.txt), где числа разделены пробелами. - Файлы
.odsили.xlsxможно открыть в Excel или LibreOffice и экспортировать в текстовый формат. - Если в условии говорится «найдите номер строки» — используйте
enumerate(open('9.txt'), start=1). - Для проверки работы программы можно добавить
print(a)внутри цикла, чтобы видеть содержимое строк.