Пример 1
В каждой строке электронной таблицы записаны шесть натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия:
— в строке есть ровно одно число, которое повторяется дважды, остальные четыре числа различны;
— среднее арифметическое неповторяющихся чисел строки не больше повторяющегося числа.
Показать решение
1. Сохраняем таблицу как текстовый файл (9.txt, числа через табуляцию) — так её удобно читать программой. Можно решить и формулами в самой таблице, но программа короче.
2. Для каждой строки находим числа, которые встречаются дважды и один раз, и проверяем условия:
count = 0 # сколько строк подошло
for line in open('9.txt'): # читаем файл построчно
a = list(map(int, line.split())) # шесть чисел строки
rep = [x for x in a if a.count(x) == 2] # числа, встречающиеся ровно дважды (каждое попадёт сюда 2 раза)
one = [x for x in a if a.count(x) == 1] # числа, встречающиеся один раз
if len(rep) == 2 and len(one) == 4: # ровно одно число повторено, остальные четыре различны
if sum(one) / 4 <= rep[0]: # среднее неповторяющихся не больше повторяющегося
count += 1 # строка подходит
print(count) # ответОтвет зависит от файла с экзамена, поэтому готового числа здесь нет.
