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

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

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

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

Задача 1#63623

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

- в строке только одно число повторяется ровно два раза, остальные числа различны;

- среднее арифметическое неповторяющихся чисел строки не больше суммы повторяющихся чисел. В ответе запишите только число.

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

Решение Excel:

Для того, чтобы определить, сколько раз каждое число встречается в строке, в ячейку F1 запишем формулу

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

и растянем на диапазон G1:L1, когда в строке есть одно число, которое встречается ровно 2 раза, сумма этого диапазона равна 8.

Среднее арифметическое можно рассчитать по формуле, запишем ее в ячейке M1 и растянем на весь диапазон:

=СУММЕСЛИ(G1:L1; =1 ;A1:F1)/СЧЁТЕСЛИ(G1:L1; =1 )

Для того, чтобы найти сумму повторяющихся чисел в строке, в ячейке N1 запишем формулу:

=СУММЕСЛИ(G1:L1; =2 ;A1:F1)

В ячейку O1 запишем формулу для проверки условий:

=ЕСЛИ(И(СУММ(G1:L1)=8;M1<=N1);1;0)

Остается только найти сумму по столбцу O.

Решение программой:

f = open(’9.txt’, ’r’)
count = 0

for line in f:
    numbers = list(map(int, line.split()))
    unique_numbers = list(set(numbers))

    if len(unique_numbers) == 5:
        repeated_number = [x for x in unique_numbers if numbers.count(x) == 2]
        if len(repeated_number) == 1:
            non_repeated_numbers = [x for x in numbers if numbers.count(x) == 1]
            sum_non_repeated = sum(non_repeated_numbers)
            sum_repeated = repeated_number[0] * 2
            if sum_non_repeated / len(non_repeated_numbers) <= sum_repeated:
                count += 1

print(count)

Ответ: 35

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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