n15.mnozestva03.py

Задание 15: Логические выражения (множества) Новичок-хоккеист выбирает номер от 1 до 99. Неподходящие числа (W): все числа меньше 22, больше 70, а также 26 и 40. Любимые числа (F): двухзначные числа, у которых сумма цифр больше 5. Формула: (n ∉ W) → (n ∉ F) ∨ (n ∈ M) Определите, сколько номеров может предложить игроку менеджмент команды?
"""
Задание 15: Логические выражения (множества)
Новичок-хоккеист выбирает номер от 1 до 99.
Неподходящие числа (W): все числа меньше 22, больше 70, а также 26 и 40.
Любимые числа (F): двухзначные числа, у которых сумма цифр больше 5.
Формула: (n ∉ W) → (n ∉ F) ∨ (n ∈ M)
Определите, сколько номеров может предложить игроку менеджмент команды?
"""

W = set(range(1, 22)) | set(range(71, 100)) | {26, 40}
F = {n for n in range(10, 100) if (n // 10 + n % 10) > 5}
M = set()

for n in range(1, 100):
    if not ((n not in W) <= ((n not in F) or (n in M))) == 1:
        M.add(n)

print(len(M))
"""
Задание 15: Логические выражения (множества)
Новичок-хоккеист выбирает номер от 1 до 99.
Неподходящие числа (W): все числа меньше 22, больше 70, а также 26 и 40.
Любимые числа (F): двухзначные числа, у которых сумма цифр больше 5.
Формула: (n ∉ W) → (n ∉ F) ∨ (n ∈ M)
Определите, сколько номеров может предложить игроку менеджмент команды?
"""

W = set(range(1, 22)) | set(range(71, 100)) | {26, 40}
F = {n for n in range(10, 100) if (n // 10 + n % 10) > 5}
M = set()

for n in range(1, 100):
    if not ((n not in W) <= ((n not in F) or (n in M))) == 1:
        M.add(n)

print(len(M))

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