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

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

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

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

Задача 1#82177

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

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

– количество чётных чисел меньше количества нечётных чисел.

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

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

Excel

Откроем файл электронной таблицы и в ячейку F1 запишем формулу:

=ОСТАТ(A1;2)

Tак мы определили четность первого числа в строке, растянем формулу для остальных чисел в строке и для остальных строк. Теперь посчитаем количество чётных/нечётных чисел в строке, запишем формулы:

=СЧЁТЕСЛИ($F1:$J1;0) и =СЧЁТЕСЛИ($F1:$J1;1)

Осталось определить сумму чётных/нечётных чисел в строке, запишем формулы:

=СУММЕСЛИ(F1:J1;0;A1:E1) и =СУММЕСЛИ(F1:J1;1;A1:E1)

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

=ЕСЛИ(И(M1>N1;K1<L1);1;0)

Ответом будет количество единиц.

Решение Python

Сначала мы открываем файл с данными и читаем его построчно. В каждой строке содержится пять чисел, разделённых символом табуляции. Чтобы корректно преобразовать строку в список чисел, мы применяем метод split(""), который разделяет строку по символу табуляции, а затем используем функцию map(int, ...) для перевода каждого элемента в целое число. В итоге мы получаем список строк, где каждая строка — это список из пяти натуральных чисел.

Затем организуем цикл for, который поочерёдно перебирает все строки таблицы. Для каждой строки выделим два списка: список нечётных чисел и список чётных чисел. Это делается при помощи условия в списковых включениях: i

Далее проверяем выполнение двух условий одновременно:

1. Сумма чётных чисел больше суммы нечётных чисел.

     – Для этого используем функцию sum() отдельно на списках чётных и нечётных чисел и сравниваем их значения.

2. Количество чётных чисел меньше количества нечётных чисел.

     – Для этого используем функцию len() и сравниваем длину списка нечётных с длиной списка чётных.

Если оба условия выполняются, увеличиваем счётчик на 1. В конце программа выводит общее количество строк, которые удовлетворяют условиям задачи.

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

# Считываем все строки файла, преобразуем каждую в список чисел
a = [list(map(int, i.split("\t"))) for i in f]

count = 0  # Счётчик подходящих строк

# Перебираем все строки таблицы
for i in a:
    # Берём все пять чисел строки и записываем во временный список
    temp = [i[0], i[1], i[2], i[3], i[4]]
    # Отбираем нечётные числа
    odd = [i for i in temp if i % 2 != 0]
    # Отбираем чётные числа
    even = [i for i in temp if i % 2 == 0]
    # Проверяем выполнение обоих условий:
    # 1) количество нечётных > количество чётных
    # 2) сумма чётных > суммы нечётных
    if len(odd) > len(even) and sum(even) > sum(odd):
        count += 1  # Увеличиваем счётчик

print(count)  # Выводим результат

Ответ: 52

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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