Тема 9. Работа с электронными таблицами

9.02 Количество строк, удовлетворяющих условию

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела работа с электронными таблицами
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#73790

Откройте файл 9_16.xls электронной таблицы, содержащей в каждой строке пять натуральных числа. Определите количество строк таблицы, для чисел которых выполнены условия:

– среднее (по величине) число не повторяется;

– среди чисел строки есть ровно одно число, повторяющееся два раза;

– сумма максимального и минимального чисел строки меньше, чем удвоенное повторяющееся число.

В ответе запишите только число.

Вложения к задаче
Показать ответ и решение

Решение Excel

В ячейку F1  впишем формулу:

= СЧ ЁТЕ СЛИ ($A1 : $E1;A1)

и растянем её вправо до столбца J включительно. Выделив диапазон столбцов F : J  , растянем их вниз до конца таблицы.

В ячейку K1  впишем формулу:

= ЕСЛ И(С ЧЁТ ЕСЛ И(A1 : E1;Н АИ МЕ НЬ Ш ИЙ (A1 : E1; 3)) = 1;1;0)

В ячейку L1  впишем формулу:

= ЕСЛ И(И (С ЧЁ ТЕС ЛИ (F 1 : J1;2) = 2;С ЧЁ ТЕС ЛИ (F 1 : J1;1) = 3);1;0)

В ячейку M 1  впишем формулу:

= ЕСЛ И((М АК С(A1 : E1)+ М ИН (A1 : E1)) < СУ М МЕ СЛИ (F1 : J1;′′= 2′′;A1 : E1 );1;0)

PIC

Так как все три условия должны быть выполнены, то в ячейку N1  впишем формулу:

= K1 ∗L1 ∗M 1

и растянем её вниз.

В ячейку O1  впишем формулу для подсчёта количества строк, удовлетворяющих условию:

= СУ ММ (N : N )

Решение на Python

f = open("9.txt")  # Открываем файл расширения txt

a = [list(map(int, line.split())) for line in f]  # Считывание строк чисел в файле
lines_count = 0  # Счётчик для количества подходящих под условие строк

for line in a:  # Перебираем строки - списки из 5 чисел

    sred = sorted(line)[2]  # Среднее число в строке
    povtor2 = [x for x in set(line) if line.count(x) == 2]  # Числа (без повторений), которые повторяются 2 раза

    if line.count(sred) == 1:  # Среднее число не повторяется
        if len(povtor2) == 1:  # Только 1 число в строке повторяется 2 раза
            if max(line) + min(line) < 2 * povtor2[0]:  # Сумма макс. и мин. чисел меньше удвоенного повторяющегося
                # По итогу все условия выполняются
                lines_count += 1  # Увеличиваем счётчик на 1

print(lines_count)  # Выводим ответ

Ответ: 74

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!