1. Базовая программа для решения
def f(A): # вычисление значения функции по значениям из A
w,x,y,z=A # порядок переменных и их значения
r1=x <= (y ==w) # "половина" функции
r2=y == (w<=z) # другая "половина" функции
r=r1 and r2 # значение функции
return int(r) # можно без int
#основная часть
for n in range(16,32) : #перебор значений от 10000 до 11111
ss=bin(n)[-4:] # оставляем хвост длиной 4 (0000-1111)
A=[] #формируем числовой вариант значений
for s in ss : A.append(int(s)) # можно через генератов списка A=[int(s) for s in ss]
print(ss,'=',f(A)) # печать аргумента и значения для выбранного порядка
2. Используя данные из условия можно сократить печать
def f(A): # вычисление значения функции по значениям из A
w,x,y,z=A # порядок переменных и их значения
r1=x <= (y ==w) # "половина" функции
r2=y == (w<=z) # другая "половина" функции
r=r1 and r2 # значение функции
return int(r) # можно без int
#основная часть
for n in range(16,32) : #перебор значений от 10000 до 11111
ss=bin(n)[-4:] # оставляем хвост длиной 4 (0000-1111)
A=[] #формируем числовой вариант значений
for s in ss : A.append(int(s)) # можно через генератов списка A=[int(s) for s in ss]
r=f(A) # значение функции
if sum(A)==1 or sum(A) in [2,3] and r ==1 : # отбираем строки по условию
print(ss,'=',r)
3. Меняем порядок переменных и находим нужный (решение с изменениями порядка)
Финальный порядок и есть ответ
def f(A): # вычисление значения функции по значениям из A
#w,x,y,z=A # порядок переменных 1-й прогон
#w,y,x,z=A # порядок переменных 2-й прогон
y,x,w,z=A # порядок переменных 3-й прогон
r1=x <= (y ==w) # "половина" функции
r2=y == (w<=z) # другая "половина" функции
r=r1 and r2 # значение функции
return int(r) # можно без int
#основная часть
for n in range(16,32) : #перебор значений от 10000 до 11111
ss=bin(n)[-4:] # оставляем хвост длиной 4 (0000-1111)
A=[] #формируем числовой вариант значений
for s in ss : A.append(int(s)) # можно через генератов списка A=[int(s) for s in ss]
r=f(A) # значение функции
if sum(A)==1 or sum(A) in [2,3] and r ==1 : # отбираем строки по условию
print(ss,'=',r)