🎯 До ЕГЭ по информатике:
--дней
:
--часов
:
--минут
:
--секунд
2

Таблицы истинности

Два способа: через itertools.product или вложенные циклы. Подбираем пропуски в таблице.

Python
# Способ 1 — itertools
from itertools import *

def f(x, y, z, w):
    # тут пишем логическое условие из задачи
    return ((y and (x == (not z))) <= w) and (z <= y)

for x1, x2, x3, x4, x5 in product([0, 1], repeat=5):
    # x1,x2,x3 — пропуски в таблице
    # repeat = столько, сколько пропусков
    t = (
        (0, 0, x1, x2, 0),
        (0, x3, 0, 0, 0),
        (1, x4, x5, 1, 0),
    )  # таблица из задания
    if len(t) == len(set(t)):
        for p in permutations('xywz', r=4):
            if all(f(**dict(zip(p, l))) == l[-1] for l in t):
                print(*p)
Способ 2
# Способ 2 — вложенные циклы
print('x y z w')
for x in range(0, 2):
    for y in range(0, 2):
        for w in range(0, 2):
            for z in range(0, 2):
                if not(not((x == (not(y)))) or ((x and w) == z)):
                    print(x, y, z, w)

📚 Теория

Логические функции и таблицы истинности. Используем перебор всех комбинаций для восстановления таблицы.