Операторы сравнения и логика (and, or, not)

Сравнения дают ответ «да/нет», а and, or, not объединяют проверки в сложные условия.

Операторы сравнения

Сравнения проверяют отношение между значениями и возвращают True или False: == (равно), != (не равно), > < >= <=. Именно результат сравнения проверяют if и while.

print(10 > 3)     # True
print(5 == 5)     # True
print(5 != 5)     # False

Логические and, or, not

and истинно, когда верны оба условия; or — когда верно хотя бы одно; not переворачивает значение. Так из простых проверок собирают сложные.

ready = True
safe = False
print(ready and safe)   # False
print(ready or safe)    # True
print(not safe)         # True

Не путайте = и ==

Одиночное = присваивает значение переменной, двойное == сравнивает два значения. В условии нужно именно ==. Это самая частая ошибка новичка. Скобки помогают, когда условий несколько: (a and b) or c читается однозначно.

Частые вопросы

Что возвращает сравнение? Булево значение True или False.

Зачем нужен not? Чтобы не заводить лишнее условие: not ready() короче и понятнее, чем сравнивать с «не готово».

Начать игру бесплатно