Найти в Дзене

Разбор номера 23193 #КЕГЭ по информатике #ЕГЭ9

Автор: Основная волна 10.06.25
Уровень: Базовый Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите наибольший номер строки таблицы, для чисел которой выполнены оба условия:
- в строке есть одно число, которое повторяется трижды, остальные три числа различны;
- повторяющееся число строки больше, чем среднее арифметическое её неповторяющихся чисел.
В ответе запишите только число. Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨‍💻 Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻  Вы найдете тут много полезного!
Оглавление

Автор: Основная волна 10.06.25
Уровень: Базовый

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

Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите наибольший номер строки таблицы, для чисел которой выполнены оба условия:
- в строке есть одно число, которое повторяется трижды, остальные три числа различны;
- повторяющееся число строки больше, чем среднее арифметическое её неповторяющихся чисел.
В ответе запишите только число.

Код решения:

Ответ: 10493
Ответ: 10493

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

  1. n = 0
    Инициализация счетчика строк. Будет хранить номер текущей строки в файле.
  2. R = []
    Создание пустого списка для хранения номеров строк, которые удовлетворяют условиям.
  3. for s in open("9.csv"):
    Открытие файла "9.csv" и построчное чтение. Переменная s содержит каждую строку файла.
  4. M = [int(x) for x in s.split(';')]
    Разделение строки s по символу ';' и преобразование каждого элемента в целое число. Получаем список чисел M.
  5. n += 1
    Увеличиваем счетчик строк на 1. Теперь n содержит номер текущей строки.
  6. copied3 = [x for x in M if M.count(x) == 3]
    Создание списка чисел, которые встречаются в строке ровно 3 раза.
  7. copied1 = [x for x in M if M.count(x) == 1]
    Создание списка чисел, которые встречаются в строке ровно 1 раз.
  8. if len(copied3) == 3 and len(copied1) == 3:
    Проверка условия: в строке должно быть ровно одно число, встречающееся 3 раза, и три различных числа,
    встречающихся по 1 разу.
  9. if copied3[0] > (sum(copied1) / 3):
    Проверка: число, которое повторяется 3 раза, должно быть больше среднего арифметического трех уникальных чисел.
  10. R.append(n)
    Если оба условия выполнены, добавляем номер строки в список R.
  11. print(max(R))
    Выводим максимальный номер строки из всех, которые удовлетворяют условиям.
Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨‍💻
Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻  Вы найдете тут много полезного!