# Простой вариант
def func(fx, fy, fz, fw):
f = ((fx and fy) or not fx) == (((fz and fw) or not fz) and (fx or fw))
if f == True:
return 1
else:
return 0

print('+---+---+---+---+---+')
print('+ x | y | z | w | f |')
print('+---+---+---+---+---+')
for x, y, z, w in [(x,y,z,w) for x in range(2) for y in range(2) for z in range (2) for w in range(2)]:
print('| %d | %d | %d | %d | %d |' % (x, y, z, w, func(x, y, z, w)))
print('+---+---+---+---+---+')

# Вариант с помощью ITERTOOLS
from itertools import product

def func(fx, fy, fz, fw):
f = ((fx and fy) or not fx) == (((fz and fw) or not fz) and (fx or fw))
if f == True:
return 1
else:
return 0


list_x=[0, 1]
list_y=[0, 1]
list_z=[0, 1]
list_w=[0, 1]

print('+---+---+---+---+---+')
print('+ x | y | z | w | f |')
print('+---+---+---+---+---+')
for x, y, z, w in product(list_x, list_y, list_z, list_w):
print('| %d | %d | %d | %d | %d |' % (x, y, z, w, func(x, y, z, w)))
print('+---+---+---+---+---+')

>>> run

+---+---+---+---+---+
+ x | y | z | w | f |
+---+---+---+---+---+
| 0 | 0 | 0 | 0 | 0 |
+---+---+---+---+---+
| 0 | 0 | 0 | 1 | 1 |
+---+---+---+---+---+
| 0 | 0 | 1 | 0 | 0 |
+---+---+---+---+---+
| 0 | 0 | 1 | 1 | 1 |
+---+---+---+---+---+
| 0 | 1 | 0 | 0 | 0 |
+---+---+---+---+---+
| 0 | 1 | 0 | 1 | 1 |
+---+---+---+---+---+
| 0 | 1 | 1 | 0 | 0 |
+---+---+---+---+---+
| 0 | 1 | 1 | 1 | 1 |
+---+---+---+---+---+
| 1 | 0 | 0 | 0 | 0 |
+---+---+---+---+---+
| 1 | 0 | 0 | 1 | 0 |
+---+---+---+---+---+
| 1 | 0 | 1 | 0 | 1 |
+---+---+---+---+---+
| 1 | 0 | 1 | 1 | 0 |
+---+---+---+---+---+
| 1 | 1 | 0 | 0 | 1 |
+---+---+---+---+---+
| 1 | 1 | 0 | 1 | 1 |
+---+---+---+---+---+
| 1 | 1 | 1 | 0 | 0 |
+---+---+---+---+---+
| 1 | 1 | 1 | 1 | 1 |
+---+---+---+---+---+

Process finished with exit code 0