9.02 Количество строк, удовлетворяющих условию
Ошибка.
Попробуйте повторить позже
Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия:
– в строке только одно число встречается дважды, все остальные числа различны.
– сумма нечётных чисел меньше суммы чётных чисел.
В ответе запишите только число.
Excel
Откроем файл электронной таблицы и для начала посчитаем сколько раз каждое число встречается в строке, для этого запишем формулу:
=СЧЁТЕСЛИ($A1:$F1;A1)
протянем её для всех чисел в строке и для всех строк в файле. Если сумма данных столбцов равна 8, значит, что в этой строке только одно число встречается дважды. Теперь посчитаем чётность каждого числа в строке, запишем формулу:
=ОСТАТ(A1;2)
Протянем формулу для всех чисел в строке и для всех строк в файле. Наша таблица приняла такой вид:
Посчитаем сумму нечётных/чётных чисел в строке, запишем формулы:
=СУММЕСЛИ(M1:R1;1;A1:F1) и =СУММЕСЛИ(M1:R1;0;A1:F1)
Осталось записать условие, оно будет выглядеть так:
=ЕСЛИ(И(S1=8;T1<U1);1;0)
Количество единиц и будет ответом.
Решение программой:
Напишем программу. Первая проблема - формат чисел. Они будут считаны в строковом формате, что не позволит
проводить необходимые проверки. Разделим все цифры каждой строки и переведём их в формат int. Остаётся пройтись
по каждой строке и проверить условия. Генераторами запишем все чётные и нечётные числа, с помощью set
уберём из строки повторения, если чисел осталось , то строка подойдёт, ведь уберётся единственное
повторяющееся число. Все условия соблюдены - увеличиваем счётчик. Остаётся его вывести и записать
ответ.
f = open("9_3.txt") # Считаем файл # Пройдёмся по данным, с помощью split разделим все символы в строке, с помощью map переведём в формат int каждую цифру # Получаем список, который хранит все строки файла в удобном формате a = [list(map(int, i.split("\t"))) for i in f] count = 0 # Счётчик подходящих слов for temp in a: # Пройдёмся по каждой строке odd = [x for x in temp if x % 2 != 0] # Запишем число, если оно нечётное even = [x for x in temp if x % 2 == 0] # Запишем число, если оно чётное if len(set(temp)) == 5 and sum(odd) < sum(even): # Если чётных больше, чем нечётных. 5 букв слова различны, set уберёт повторяющуюся. count += 1 # Увеличим счётчик print(count) # Выводим ответ
Специальные программы

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

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

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

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

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

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