903.py

Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия: 1. в строке ровно одно число повторяется трижды, ровно одно число повторяется дважды, остальные числа без повторений; 2. максимальное из всех повторяющихся чисел строки больше наибольшего из её неповторяющихся чисел. В ответе запишите только число.
"""
Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел.
Определите количество строк таблицы, для чисел которых выполнены оба условия:

    1. в строке ровно одно число повторяется трижды, ровно одно число повторяется дважды,
       остальные числа без повторений;
    2. максимальное из всех повторяющихся чисел строки больше наибольшего из её неповторяющихся чисел.

В ответе запишите только число.
"""
count = 0
for i in open('903'):
    # переводим строку в список из семи целых чисел
    a = [int(x) for x in i.split()]
    # числа, встречающиеся ровно 3 раза, 2 раза и 1 раз
    pov3 = [x for x in a if a.count(x) == 3]
    pov2 = [x for x in a if a.count(x) == 2]
    pov1 = [x for x in a if a.count(x) == 1]
    # одно число трижды, одно дважды, два по одному разу
    if len(pov3) == 3 and len(pov2) == 2 and len(pov1) == 2:
        max_repeating = max(pov3[0], pov2[0])
        max_non_repeating = max(pov1)
        if max_repeating > max_non_repeating:
            count = count + 1
print(count)

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

    1. в строке ровно одно число повторяется трижды, ровно одно число повторяется дважды,
       остальные числа без повторений;
    2. максимальное из всех повторяющихся чисел строки больше наибольшего из её неповторяющихся чисел.

В ответе запишите только число.
"""
count = 0
for i in open('903'):
    # переводим строку в список из семи целых чисел
    a = [int(x) for x in i.split()]
    # числа, встречающиеся ровно 3 раза, 2 раза и 1 раз
    pov3 = [x for x in a if a.count(x) == 3]
    pov2 = [x for x in a if a.count(x) == 2]
    pov1 = [x for x in a if a.count(x) == 1]
    # одно число трижды, одно дважды, два по одному разу
    if len(pov3) == 3 and len(pov2) == 2 and len(pov1) == 2:
        max_repeating = max(pov3[0], pov2[0])
        max_non_repeating = max(pov1)
        if max_repeating > max_non_repeating:
            count = count + 1
print(count)

"""
Ответ: 1047
"""

Репозиторий на GitHub