1

Тема: Застосування оператора not

Не можу зрозуміти, як працює ця програма, чому результат 3?

x = True
y = False
z = False
if not x or y:
    print(1)
elif not x or not y and z:
    print(2)
elif not x or y or not y and x:
    print(3)
else:
    print(4)

2

Re: Застосування оператора not

not має вищий пріоритет, ніж and, а and — вищий, ніж or. Тобто, щоб бачити, як логічний вираз працює насправді, обгорніть дужками спершу not з підпорядкованими йому змінними/виразами, потім and, потім or — тоді, наприклад, not x or y or not y and x перетвориться на  ((not x) or y or ((not y) and x))

Подякували: mamkin haker, leofun01, koala, oland1979, Pernat1y5

3

Re: Застосування оператора not

Дякую, тепер зрозумів)