#kege #yandex
#reshu #statgrad
#polyakov
#ЕГЭ1 #ЕГЭ10 #ЕГЭ19
#ЕГЭ2 #ЕГЭ11 #ЕГЭ20
#ЕГЭ3 #ЕГЭ12 #ЕГЭ21
#ЕГЭ4 #ЕГЭ13 #ЕГЭ22
#ЕГЭ5 #ЕГЭ14 #ЕГЭ23
#ЕГЭ6 #ЕГЭ15 #ЕГЭ24
#ЕГЭ7 #ЕГЭ16 #ЕГЭ25
#ЕГЭ8 #ЕГЭ17 #ЕГЭ26
#ЕГЭ9 #ЕГЭ18 #ЕГЭ27
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
count = 0
for s in open('9.txt'):
M = sorted([int(x) for x in s.split()])
if len(M) != len(set(M)): # if M[-1] != M[-2]:
if M.count(M[-1]) == 1:
copied = [x for x in M if M.count(x) > 1]
if sum(copied) > M[-1]:
count += 1
print(count)
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
cnt = 0
for s in open('9.txt'):
M = [int(x) for x in s.split()]
if len([x for x in M if abs(x) % 10 == 3]) == 3:
A = [x for x in M if x > 0]
B = [x for x in M if x < 0]
if sum(A) ** 2 < sum(B) ** 2:
cnt += 1
print(cnt)
Файлы к заданию: 9.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: ЕГКР 27.04
Уровень: Базовый
Определите количество строк таблицы, для чисел которых выполнены оба условия:
- в строке есть ровно одно число, которое повторяется дважды, и пять чисел без повторений;
- произведение трёх наименьших среди неповторяющихся чисел строки больше квадрата повторяющегося числа.
Аудио с пояснением к коду решения оставлю в комментариях.
from math import prod
cnt = 0
for s in open('9.txt'):
M = [int(x) for x in s.split()]
copied = [x for x in M if M.count(x) == 2]
not_copied = [x for x in M if M.count(x) == 1]
if len(copied) == 2 and len(not_copied) == 5:
if prod(sorted(not_copied)[:3]) > prod(copied):
cnt += 1
print(cnt)
# Ответ: 1671305
from math import prod
Импорт функции prod из модуля math, которая вычисляет произведение элементов итерируемого объекта.
cnt = 0
Инициализация переменной cnt для подсчета количества выполненных условий.
for s in open('9.txt'):
Цикл for, который проходит по каждой строке из файла "9.txt".
M = [int(x) for x in s.split()]
Создание списка M, содержащего целочисленные значения, полученные разделением строки s.
copied = [x for x in M if M.count(x) == 2]
Фильтрация списка M, чтобы получить только элементы, которые встречаются дважды.
not_copied = [x for x in M if M.count(x) == 1]
Фильтрация списка M, чтобы получить только элементы, которые встречаются один раз.
if len(copied) == 2 and len(not_copied) == 5:
Проверка условия: если в списке copied содержится два элемента, а в списке not_copied пять элементов.
if prod(sorted(not_copied)[:3]) > prod(copied):
Проверка условия: произведение трех наименьших элементов из отсортированного списка not_copied больше произведения элементов из списка copied.
cnt += 1
Увеличение счетчика cnt на 1, если выполнены все условия.
print(cnt)
Вывод результата.
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
for s in open('9.txt'):
M = [int(x) for x in s.split()]
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Основная волна 07.06.24
Уровень: Базовый
Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
– наибольшее из четырёх чисел меньше суммы трёх других;
– среди четырёх чисел есть только одна пара равных чисел.
На kompege.ru появился вариант с заданиями к ЕГЭ 2024, ссылка тут.
cnt = 0
for s in open('9.csv'):
M = sorted([int(x) for x in s.split(';')])
if M[-1] < sum(M[:3]):
if len(set(M)) == 3:
cnt += 1
print(cnt)
# Ответ: 147
cnt = 0
Инициализация переменной cnt с начальным значением 0 для подсчёта подходящих ситуаций.
for s in open('9.csv'):
Цикл for, который проходит по каждой строке в файле '9.csv'.
M = sorted([int(x) for x in s.split(';')])
Создание списка M из целочисленных значений, полученных путём разделения строки s по символу ';' и последующей сортировки этих чисел.
if M[-1] < sum(M[:3]):
Проверка условия: если наибольшее из четырёх чисел меньше суммы трёх других чисел.
if len(set(M)) == 3:
Проверка условия: если количество уникальных элементов в списке M равно 3, что означает, что есть только одна пара равных чисел.
cnt += 1
Увеличение счётчика cnt на 1, если обе проверки выше выполняются.
print(cnt)
Вывод общего количества ситуаций, которые удовлетворяют заданным условиям.
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
cnt = 0
for s in open('9.csv'):
M = [int(x) for x in s.split(';')]
copied = [x for x in M if M.count(x) == 2]
not_copied = [x for x in M if M.count(x) == 1]
if len(copied) == 4 and len(not_copied) == 2:
if sum(copied) < sum(not_copied):
cnt += 1
print(cnt)
Информатика ЕГЭ | itpy
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Пересдача 04.07.2024
Уровень: Базовый
Определите количество строк таблицы, в которых сумма наибольшего и наименьшего чисел меньше суммы двух оставшихся.
Для решения этого номера кодом необходимо конвертировать .xls файл в .txt, но на экзамене будет доступен .csv формат, который можно будет открыть сразу же без конвертации.
cnt = 0
for s in open('9.txt'):
M = sorted([int(x) for x in s.split()])
# if M[0] + M[-1] < M[1] + M[2]:
# if max(M) + min(M) < sum(M) - max(M) - min(M):
if M[0] + M[-1] < M[1] + M[2]:
cnt += 1
print(cnt)
# Ответ: 9997
cnt = 0
Инициализируем переменную счётчика cnt для подсчета строк, которые удовлетворяют условию.
for s in open('9.txt'):
Открываем файл '9.txt' и построчно читаем его содержимое в цикле.
M = sorted([int(x) for x in s.split()])
Разбиваем строку s на отдельные элементы, приводим их к целым числам и сортируем их, результат сохраняем в список M.
if M[0] + M[-1] < M[1] + M[2]:
Проверяем условие: сумма первого и последнего элементов списка меньше суммы второго и третьего элементов.
cnt += 1
Если условие выполняется, увеличиваем счётчик cnt на 1.
print(cnt)
Выводим итоговое значение счётчика cnt, которое соответствует количеству строк, удовлетворяющих условию.
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Демоверсия 2025
Уровень: Базовый
Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
– в строке только одно число повторяется трижды, остальные числа различны;
– квадрат суммы всех повторяющихся чисел строки больше квадрата суммы всех её неповторяющихся чисел.
Запоминайте способ создания генератора списков copied, чтобы можно было решать такие прототипы 9 номера на ура!
cnt = 0
for s in open('9.csv'):
M = [int(x) for x in s.split(';')]
copied = [x for x in M if M.count(x) == 3]
nor_copied = [x for x in M if M.count(x) == 1]
if len(copied) == 3 and len(nor_copied) == 3:
if sum(copied) 2 > sum(nor_copied) 2:
cnt += 1
print(cnt)
# Ответ: 273
Инициализируем счетчик cnt, который будет подсчитывать количество строк, удовлетворяющих заданным условиям.
for s in open('9.csv'):
Открываем файл '9.csv' для чтения и перебираем каждую строку файла поочередно.
M = [int(x) for x in s.split(';')]
Разделяем строку s на элементы по разделителю ';', преобразуем их в целые числа и сохраняем в списке M.
copied = [x for x in M if M.count(x) == 3]
Создаем список copied, включающий элементы списка M, которые встречаются ровно 3 раза.
nor_copied = [x for x in M if M.count(x) == 1]
Создаем список nor_copied, включающий элементы списка M, которые встречаются ровно 1 раз.
if len(copied) == 3 and len(nor_copied) == 3:
Проверяем, что в списке copied ровно 3 элемента, и в списке nor_copied также ровно 3 элемента.
if sum(copied) 2 > sum(nor_copied) 2:
Сравниваем квадраты суммы элементов списка copied и квадрат суммы элементов списка nor_copied.
cnt += 1
Увеличиваем счетчик cnt на 1, если выполняются предыдущие условия.
print(cnt)
Выводим значение счетчика cnt, которое содержит количество строк, удовлетворяющих условиям.
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
3 8 5 4
Подборка по 9 номерам уже тоже очень даже, пользуйтесь! #ЕГЭ9 #useful
🚩 Разбор номера 5664 #kege по информатике #ЕГЭ9
🚩 Разбор номера 63025 #reshu по информатике #ЕГЭ9
🚩 Разбор номера 8554 #kege по информатике #ЕГЭ9
🚩 Разбор номера #kege по информатике #ЕГЭ9
Автор: ЕГКР 27.04
Уровень: Базовый
🚩 Разбор номера 17863 #kege по информатике #ЕГЭ9
Автор: Демоверсия 2025
Уровень: Базовый
Информатика ЕГЭ | itpy🧑💻
Поддержать автора донатом💵
Автор: ЕГКР 27.04
Уровень: Базовый
Автор: Демоверсия 2025
Уровень: Базовый
Информатика ЕГЭ | itpy
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
2 5 4 3
Автор: Статград
Уровень: Сложный
Уровень: Базовый
Автор: ЕГКР 27.04.24
Уровень: Базовый
Автор: Апробация 17.05
Уровень: Базовый
1. Домашка, задачи базового уровня (ФИПИ)
2. Практика, задачи повышенной сложности
Информатика ЕГЭ | itpy
Кстати у нас есть чатик
Please open Telegram to view this post
VIEW IN TELEGRAM
4 8 5 4 2
Автор: Калинин А.
Уровень: Средний
Определите количество строк таблицы, для которых одновременно выполняются следующие условия:
1. Удвоенный квадрат минимального из чисел, содержащихся в строке, больше, чем произведение двух других чисел, ни одно из которых не равно максимальному числу
2. В строке содержится хотя бы два одинаковых числа
Особенное внимание уделите условию: "ни одно из которых не равно максимальному числу"
cnt = 0
for s in open('files/9.csv'):
M = sorted([int(x) for x in s.split(',')])
if len(set(M)) < 4:
if (2 * M[0] ** 2) > (M[1] * M[2]):
if M[1] != max(M) and M[2] != max(M):
print(M)
cnt += 1
print(cnt)
# Ответ: 43
cnt = 0
Инициализируем счётчик cnt, который будет хранить количество подходящих списков чисел.
for s in open('files/9.csv'):
Открываем файл '9.csv' для чтения и начинаем цикл по каждой строке файла.
M = sorted([int(x) for x in s.split(',')])
Разделяем строку s по запятым, преобразуем каждую часть в целое число и сортируем полученный список в M.
if len(set(M)) < 4:
Проверяем, содержит ли множество уникальных элементов списка M меньше 4 значений.
if (2 * M[0] ** 2) > (M[1] * M[2]):
Проверяем, выполняется ли неравенство: двойной квадрат первого элемента больше произведения второго и третьего элементов.
if M[1] != max(M) and M[2] != max(M):
Проверяем, не является ли максимальный элемент списка среди второго или третьего элементов.
print(M)
Если все условия выполнены, выводим список M.
cnt += 1
Увеличиваем счётчик cnt на 1, так как мы нашли подходящий список.
print(cnt)
По завершении цикла выводим общее количество подходящих списков, хранящихся в cnt.
Поддержать автора донатом
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7 3❤🔥2 1
This media is not supported in your browser
VIEW IN TELEGRAM
11228
#kege по информатике #ЕГЭ9Автор: М.Ишимов
Уровень: Сложный
Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите сумму чисел всех строк таблицы, для которых выполнены оба условия:
– в строке есть только одно число, которое повторяется трижды, и только два числа, каждое из которых повторяется дважды;
– четыре наименьших числа строки можно разбить на две пары чисел с нечётными суммами.
В ответе запишите полученное число.
Определите сумму чисел всех строк таблицы
from itertools import *
summa = 0
for s in open('9.txt'):
M = sorted([int(x) for x in s.split()])
copied_2 = [x for x in M if M.count(x) == 2]
copied_3 = [x for x in M if M.count(x) == 3]
if len(copied_3) == 3 and len(copied_2) == 4:
if any(sum(p[:2]) % 2 != 0 and sum(p[2:]) % 2 != 0 for p in permutations(M[:4])):
summa += sum(M)
print(summa)
Ответ: 4675
from itertools import *
Импортируется модуль itertools.
summa = 0
Создается переменная summa.
for s in open('9.txt'):
В цикле for происходит построчное чтение файла. Каждая строка файла сохраняется в переменную s.
M = sorted([int(x) for x in s.split()])
Строка s разбивается на список строк с помощью метода split(). Каждая строка преобразуется в целое число с помощью int(x). Полученный список чисел сортируется и сохраняется в переменную M.
copied_2 = [x for x in M if M.count(x) == 2]
Создается список copied_2, который содержит элементы из списка M, встречающиеся ровно два раза.
copied_3 = [x for x in M if M.count(x) == 3]
Создается список copied_3, который содержит элементы из списка M, встречающиеся ровно три раза.
if len(copied_3) == 3 and len(copied_2) == 4:
Проверяется условие: если длина списка copied_3 равна 3 и длина списка copied_2 равна 4 .
if any(sum(p[:2]) % 2 != 0 and sum(p[2:]) % 2 != 0 for p in permutations(M[:4])):
Генерируются все возможные перестановки первых четырех элементов списка M . Для каждой перестановки p проверяется, является ли сумма первых двух элементов нечетной и сумма последних двух элементов также нечетной.
summa += sum(M)
Сумма всех элементов списка M добавляется к переменной summa.
print(summa)
Выводится значение переменной summa.
Второй канал про теорию Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥14👍8🔥6 6
This media is not supported in your browser
VIEW IN TELEGRAM
Автор: Л. Шастин
Уровень: Сложный
Определите наибольший номер строки таблицы, для чисел которой выполнены оба условия:
– числа в строке расположены в порядке неубывания;
– в строке есть повторяющиеся числа с чётной суммой цифр.
Аудио с пояснением к коду решения оставлю в комментариях.
R = []
for n, s in enumerate(open('9.csv'), 1):
M = [int(x) for x in s.split(';')]
if M == sorted(M):
if any(M.count(x) > 1 and sum(map(int, str(x))) % 2 == 0 for x in M):
R.append(n)
print(max(R))
Ответ: 6937
R = []
- Создаём пустой список R для хранения номеров строк, которые будут соответствовать условиям.
for n, s in enumerate(open('9.csv'), 1):
- Начинаем цикл по каждой строке файла 9.csv, считывая одновременно её содержание s и устанавливая номер строки n, начиная с 1.
M = [int(x) for x in s.split(';')]
- Преобразуем строку s, разделённую по символу ;, в список целых чисел M.
if M == sorted(M):
- Проверяем, является ли список M отсортированным по возрастанию.
if any(M.count(x) > 1 and sum(map(int, str(x))) % 2 == 0 for x in M):
- Проверяем, есть ли в списке M повторяющиеся элементы x, сумма цифр которых чётная.
R.append(n)
- Добавляем номер строки n в список R, если выполняются условия выше.
print(max(R))
- Выводим максимальный номер строки из списка R, соответствующий требуемым условиям.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7 3 3 3👍1
Автор: Рогов.А
Уровень: Сложный
В файле электронной таблицы в каждой строке содержатся шесть натуральных чисел. Определите количество строк таблицы, для которых выполнены оба условия:
в строке хотя бы одно число повторяется дважды (ровно 2 раза);
каждое из повторяющихся дважды (ровно 2 раза) чисел превышает каждое неповторяющееся.
Опасная задача потому что автор учитывает ситуацию, когда список uncopied пустой, что может вызывать ошибку при использовании функции max().
cnt = 0
for s in open('0. files/9.csv'):
M = sorted([int(x) for x in s.split(',')])
copied = [x for x in M if M.count(x) == 2]
uncopied = [x for x in M if M.count(x) == 1]
if len(copied) > 0:
if len(uncopied) == 0:
maxi = 0
else:
maxi = max(uncopied)
if min(copied) > maxi:
cnt += 1
print(cnt)
Ответ: 665
cnt = 0
- Создаём переменную-счётчик cnt и инициализируем её нулём.
- Будет хранить количество строк, удовлетворяющих условию.
for s in open('0. files/9.csv'):
- Открываем файл '0. files/9.csv' для чтения.
- Циклом for перебираем каждую строку s из файла.
M = sorted([int(x) for x in s.split(',')])
- Разбиваем строку s по запятым с помощью s.split(',').
- Каждый элемент преобразуем в целое число int(x).
- Полученный список чисел сортируем по возрастанию sorted().
- Результат сохраняем в переменную M.
copied = [x for x in M if M.count(x) == 2]
- Создаём список copied с помощью генератора списка.
- Включаем в него элементы x из M, которые встречаются ровно 2 раза (M.count(x) == 2).
- Это будут числа-дубликаты в текущей строке.
uncopied = [x for x in M if M.count(x) == 1]
- Аналогично создаём список uncopied.
- Включаем элементы, которые встречаются только 1 раз (M.count(x) == 1).
- Это уникальные числа в текущей строке.
if len(copied) > 0:
- Проверяем, есть ли в строке дубликаты (длина списка copied больше 0).
- Если нет, то пропускаем дальнейшие проверки для этой строки.
if len(uncopied) == 0:
- Проверяем, есть ли в строке уникальные числа.
- Если уникальных чисел нет (uncopied пуст):
maxi = 0
- Устанавливаем maxi (максимальное уникальное число) в 0,
- так как сравнивать будем с минимальным дубликатом.
else:
- Если в строке есть уникальные числа:
maxi = max(uncopied)
- Находим максимальное число среди уникальных и сохраняем в maxi.
if min(copied) > maxi:
- Проверяем условие: минимальное число из дубликатов больше maxi.
- Если условие выполняется:
cnt += 1
- Увеличиваем счётчик подходящих строк на 1.
print(cnt)
- После обработки всех строк выводим итоговое значение счётчика cnt.
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥7❤🔥4 4❤2
Автор: ФИПИ
Уровень: Средний
Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия:
в строке только одно число повторяется трижды, остальные числа различны;
утроенный квадрат повторяющегося числа строки больше суммы квадратов её неповторяющихся чисел.
cnt = 0
for s in open('0. files/9.csv'):
M = [int(x) for x in s.split(';')]
copied = [x for x in M if M.count(x) == 3]
uncopied = [x for x in M if M.count(x) == 1]
if len(copied) == 3 and len(uncopied) == 3:
if (copied[0] ** 2) * 3 > (sum([x**2 for x in uncopied])):
cnt += 1
print(cnt)
Ответ: 245
cnt = 0
# Инициализируем счетчик, который будет подсчитывать количество строк с нужными условиями
for s in open('0. files/9.csv'):
# Открываем файл и построчно считываем его содержимое в переменную s
M = [int(x) for x in s.split(';')]
# Разделяем строку по символу ';', преобразуем элементы в целые числа и создаем список M
copied = [x for x in M if M.count(x) == 3]
# Создаем список copied из элементов, которые встречаются в M ровно 3 раза (повторяющиеся элементы)
uncopied = [x for x in M if M.count(x) == 1]
# Создаем список uncopied из элементов, которые встречаются в M ровно 1 раз (уникальные элементы)
if len(copied) == 3 and len(uncopied) == 3:
# Проверяем, что у нас ровно 3 повторяющихся элемента и 3 уникальных элемента
if (copied[0] ** 2) * 3 > (sum([x**2 for x in uncopied])):
# Проверяем условие: квадрат первого повторяющегося элемента, умноженный на 3, больше суммы квадратов всех уникальных элементов
cnt += 1
# Если оба условия выполняются, увеличиваем счетчик на 1
print(cnt)
# Выводим итоговое значение счетчика
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3👍2
В каждой строке шесть натуральных чисел. Определите среднее арифметическое чисел всех строк таблицы, для которых выполнены оба условия:
- в строке есть число, которое повторяется трижды, остальные три числа различны;
- повторяющееся число строки меньше, чем удвоенное минимальное из ее неповторяющихся чисел.
A = []
for s in open('9.csv'):
M = [int(x) for x in s.split(';')]
p3 = [i for i in M if M.count(i) == 3]
np = [i for i in M if M.count(i) == 1]
if len(p3) == 3 and len(np) == 3:
if p3[0] < 2 * min(np):
A.append(sum(M))
print(sum(A) // len(A))
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤7👍5
Автор: Л.Шастин
Уровень: Сложный
Определите наибольший номер строки таблицы, для чисел которой выполнены оба условия:
– числа в строке расположены в порядке неубывания;
– в строке есть повторяющиеся числа с чётной суммой цифр.
R = []
for n, s in enumerate(open('0. files/9.csv'), 1):
M = [int(x) for x in s.split(';')]
if M == sorted(M):
if any(M.count(x) > 1 and sum(map(int, str(x))) % 2 == 0 for x in M):
R.append(n)
print(max(R))
Ответ: 6937
R = []
Создается пустой список R, в который будут добавляться номера строк, удовлетворяющих условиям
for n, s in enumerate(open('0. files/9.csv'), 1):
Открывается файл 9.csv, итерируемся по его строкам s с нумерацией n, начиная с 1
M = [int(x) for x in s.split(';')]
Каждая строка s разбивается по разделителю ;, элементы преобразуются в целые числа, формируется список M
if M == sorted(M):
Проверяется, равен ли список M своему отсортированному варианту (проверка на неубывающую последовательность)
if any(M.count(x) > 1 and sum(map(int, str(x))) % 2 == 0 for x in M):
Проверяется, есть ли в списке M хотя бы одно число x, которое встречается больше одного раза (M.count(x) > 1) и сумма цифр которого четная (sum(map(int, str(x))) % 2 == 0)
R.append(n)
Если оба условия выполнены, номер строки n добавляется в список R
print(max(R))
Выводится максимальный номер строки из списка R (последняя подходящая строка в файле)
Please open Telegram to view this post
VIEW IN TELEGRAM
3❤8❤🔥4🔥4
Автор: М.Попков
Уровень: Средний
Откройте файл электронной таблицы, содержащей в каждой строке четыре натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены следующие условия:
– в строке есть только одно число, которое повторяется дважды, остальные два числа различны;
– все неповторяющиеся числа нечетны, повторяющиеся числа чётны.
В ответе запишите только число.
cnt = 0
for s in open('0. files/9.csv'):
M = sorted([int(x) for x in s.split(',')])
copied = [x for x in M if M.count(x) == 2]
uncopied = [x for x in M if M.count(x) == 1]
if len(copied) == 2 and len(uncopied) == 2:
if all(x % 2 != 0 for x in uncopied):
if all(x % 2 == 0 for x in copied):
cnt += 1
print(cnt)
Ответ: 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)
Вывод общего количества подходящих строк.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍3❤2🔥2
Автор: Yandex учебник
Уровень: Базовый
Определите количество строк таблицы, для чисел которых выполнены оба условия:
- в строке есть ровно одно число, которое повторяется дважды, а остальные числа различны;
- максимальное число строки повторяется столько же раз, сколько и минимальное.
cnt = 0
for s in open('0. files/9.csv'):
M = [int(x) for x in s.split(';')]
copied2 = [x for x in M if M.count(x) == 2]
uncopied = [x for x in M if M.count(x) == 1]
if len(copied2) == 2 and len(uncopied) == 5:
if M.count(max(M)) == M.count(min(M)):
cnt += 1
print(cnt)
Ответ: 349
cnt = 0
Инициализируем счётчик, который будет считать строки, удовлетворяющие условиям задачи.
for s in open('0. files/9.csv'):
Построчно читаем файл '0. files/9.csv'; каждая строка — это строка s.
M = [int(x) for x in s.split(';')]
Преобразуем строку в список целых чисел, разделяя элементы по символу ';'.
copied2 = [x for x in M if M.count(x) == 2]
Создаём список чисел, которые встречаются ровно дважды.
uncopied = [x for x in M if M.count(x) == 1]
Создаём список чисел, которые встречаются только один раз.
if len(copied2) == 2 and len(uncopied) == 5:
Проверяем, что два различных числа встречаются по два раза, а пять других — по одному разу.
if M.count(max(M)) == M.count(min(M)):
Проверяем, что максимальное и минимальное значения в строке встречаются одинаковое количество раз.
cnt += 1
Если оба условия выполнены, увеличиваем счётчик подходящих строк на 1.
print(cnt)
Выводим количество строк, удовлетворяющих условиям задачи.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5🔥4❤1