9.02 Количество строк, удовлетворяющих условию
Ошибка.
Попробуйте повторить позже
Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите количество строк таблицы, для чисел которых выполнено хотя бы одно условие:
– ровно два числа повторяются дважды
– ровно одно число повторяется семь раз
В ответе запишите только число.
Excel
Откроем файл Excel.
В ячейку H1 запишем следующую формулу для определения повторяемости числа и растянем её до ячейки N1:
=СЧЁТЕСЛИ($A1:$G1;A1)
В ячейку O1 запишем следующую формулу для проверки условия на количество повторящихся дважды чисел:
=СЧЁТЕСЛИ(H1:N1;2)=4
В ячейку P1 запишем следующую формулу для проверки условия на количество повторяющихся семь раз чисел:
=H1=7
В ячейку Q1 запишем следующую формулу для определения, является ли хотя бы одно условие верными:
=ЕСЛИ(ИЛИ(O1;P1);1;0)
Растянем все формулы до конца таблицы. Сумма значений столбца Q и будет ответом.
Решение Python
Сначала мы считаем все строки файла и преобразуем каждую строку в список чисел
Затем Для каждой строки проверяем два условия.
– Чтобы проверить первое условие, составляем список элементов, которые встречаются ровно два раза. Если таких элементов 4 (каждое число учитывается дважды, значит ровно два различных значения повторяются по два раза), условие выполняется.
– Чтобы проверить второе условие, ищем элемент, встречающийся 7 раз. Если он есть, условие выполняется.
Для подсчёта количеств раз, которое встречается число в строке используем функцию count().
- Если хотя бы одно условие выполнено, увеличиваем счётчик.
- В конце выводим количество подходящих строк.
f = open(’4_9_demo.txt’) # Открываем файл с таблицей # Преобразуем каждую строку файла в список чисел a = [list(map(int, i.split())) for i in f] cnt = 0 # Счётчик подходящих строк # Перебираем все строки for ls in a: # Находим числа, встречающиеся ровно дважды two = [i for i in ls if ls.count(i) == 2] # Находим числа, встречающиеся 7 раз sev = [i for i in ls if ls.count(i) == 7] # Проверяем выполнение хотя бы одного условия if len(two) == 4 or sev: cnt += 1 print(cnt) # Выводим количество строк, удовлетворяющих условиям
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

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

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

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

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

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!