Задача с сайта https://kpolyakov.spb.ru/
В файле электронной таблицы 9-204.xls в каждой строке записаны 6 натуральных чисел. Определите количество строк таблицы, содержащих хотя бы одну ячейку со следующими свойствами:
– число в данной ячейке повторяется в ячейках этой строки;
– число в данной ячейке встречается чётное число раз в других строках таблицы.
Программное решение
f = open(’9-204.csv’)
a = [list(map(int, i.split(’;’))) for i in f]
c = 0 # Счетчик для подсчета количества строк
b = [] # Список b, который будет содержать все числа из всех строк
for i in a: # Заполняем список b всеми числами из всех строк таблицы
b += i
for i in a: # Проходим по каждой строке в таблице
# Находим все числа в текущей строке, которые повторяются
t = [j for j in i if i.count(j) > 1]
# Если в текущей строке есть хотя бы одно повторяющееся число
if t:
# Для каждого повторяющегося числа проверяем,
# сколько раз оно встречается в других строках
t1 = [(b.count(j) - i.count(j)) % 2 == 0 for j in t]
# Если хотя бы одно из условий выполняется, увеличиваем счетчик
if any(t1):
c += 1
print(c) # Выводим количество строк, удовлетворяющих условиям
Ответ: 464