Автор: М.Попков
Уровень: Средний
Условие задачи:
Откройте файл электронной таблицы, содержащей в каждой строке четыре натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены следующие условия:
– в строке есть только одно число, которое повторяется дважды, остальные два числа различны;
– все неповторяющиеся числа нечетны, повторяющиеся числа чётны.
В ответе запишите только число.
Код решения:
Ответ: 53
Комментарии к коду:
- cnt = 0
Инициализация счетчика для подсчета подходящих строк. - for s in open('0. files/9.csv'):
Открытие файла и построчное чтение данных. Каждая строка s содержит числа, разделенные запятыми. - M = sorted([int(x) for x in s.split(',')])
Разделение строки по запятым, преобразование в целые числа и сортировка списка. - copied = [x for x in M if M.count(x) == 2]
Создание списка чисел, встречающихся ровно 2 раза (дубликаты). - uncopied = [x for x in M if M.count(x) == 1]
Создание списка уникальных чисел (встречаются 1 раз). - if len(copied) == 2 and len(uncopied) == 2:
Проверка, что есть ровно 2 дублирующихся числа (1 пара) и 2 уникальных числа. - if all(x % 2 != 0 for x in uncopied):
Проверка, что все уникальные числа нечетные. - if all(x % 2 == 0 for x in copied):
Проверка, что все дублирующиеся числа четные. - cnt += 1
Если все условия выполнены, счетчик увеличивается на 1. - print(cnt)
Вывод общего количества подходящих строк.
Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨💻
Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻 Вы найдете тут много полезного!