Почему программа не выдаёт ответ?
for x in '01':
for y in '01':
for z in '01':
for w in '01':
if not(((x <= y) == (z <= w)) or (x and w)):
print(x, y, z, w)
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
У вас то, что внутри not никогда не бывает равно False. Проблема во втором выражении (x and w). Для символов это выражение будет давать на выходе тоже символы. Даже если в первой части ((x <= y) == (z <= w)) и получится False, то or в этом случае даст то, что получилось в правой части, т.е. символ 0 или 1. А после not любой из этих символов даст True, потому что символ - это не пустая строка.