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

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

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

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

Задача 1#74923

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

– сумма чётных чисел больше суммы нечётных чисел;

– количество чётных чисел равно количеству нечётных чисел.

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

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

Решение Excel:

Откроем файл электронной таблицы и для начала при помощи функции ОСТАТ определим остаток при делении на 2 для каждого числа в строке. Формула для столбца G будет выглядеть так: =ОСТАТ(A1;2).

Теперь нужно растянуть эту формулу на 5 следующих столбцов, чтобы узнать остаток каждого числа в строке.

Проверим при помощи функции СЧЁТЕСЛИ ,что количество чётных чисел равнео количеству нечётных чисел. Формула для столбца M будет выглядеть так: =ЕСЛИ(СЧЁТЕСЛИ(G1:L1;0)=СЧЁТЕСЛИ(G1:L1;1);1;0)

Определим в последующих 6 столбцах какие числа в строке у нас являются чётными. Напишем в столбце N следующую формулу: =ЕСЛИ(G1=0;A1;0) и растянем ее до столбца S. Затем определим сколько нечётных чисел. Напишем в столбце T следующую формулу: =ЕСЛИ(G1=1;A1;0) и растянем ее до столбца Y.

Осталось в столбце Z написать условие, проверяющее, что количество чётных чисел равно количеству нечётных, а также сумма чётных чисел больше чем сумма нечётных. Формула будет иметь такой вид: =ЕСЛИ(И(M1=1;СУММ(N1:S1)>СУММ(T1:Y1));1;0).

Теперь растянем эту формула на все строки и посчитаем количество единиц. Ответ: 234.

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

f = open(’9.txt’, ’r’)
lines = f.readlines()

count = 0

for line in lines:
    nums = list(map(int, line.split()))
    even_sum = sum(num for num in nums if num % 2 == 0)
    odd_sum = sum(num for num in nums if num % 2 != 0)

    even_count = len([num for num in nums if num % 2 == 0])
    odd_count = len([num for num in nums if num % 2 != 0])

    if even_sum > odd_sum and even_count == odd_count:
        count += 1

print(count)


Ответ: 234

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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