Добавить в корзинуПозвонить
Найти в Дзене

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

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

Автор: Богданов А
Уровень:
Сложный

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

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

В ответе запишите одно число.

Код решения:

Ответ: 148
Ответ: 148

Файлы для решения задачи: 9.csv

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

  1. cnt = 0
    Создаем счетчик cnt и инициализируем его нулем. Он будет считать количество строк, удовлетворяющих условиям.
  2. for s in open('9.csv'):
    Открываем файл 9.csv и построчно читаем его. Каждая строка сохраняется в переменную s.
  3. M = [int(x) for x in s.split(',')]
    Разбиваем строку s по запятым, преобразуем каждый элемент в целое число и сохраняем в список M.
  4. copied_2 = [x for x in M if M.count(x) == 2]
    Создаем список copied_2, содержащий элементы из M, которые встречаются ровно 2 раза.
  5. if len(copied_2) == 6:
    Проверяем, что в списке copied_2 ровно 6 элементов (то есть 3 пары одинаковых чисел).
  6. a, b, c = sorted(set(copied_2))
    Удаляем дубликаты из copied_2 (оставляем уникальные значения), сортируем их и присваиваем переменным a, b, c.
  7. if a**2 + b**2 == c**2:
    Проверяем, выполняется ли теорема Пифагора для полученных чисел (являются ли они пифагоровой тройкой).
  8. cnt += 1
    Если все условия выполнены, увеличиваем счетчик cnt на 1.
  9. print(cnt)
    После обработки всех строк выводим значение счетчика cnt.
Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨‍💻
Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻  Вы найдете тут много полезного!