Сравниваем и принимаем решение
Шесть операторов, которые превращают два значения в один bool — и числовая прямая, чтобы увидеть их границы.
Сравнение — это шаг алгоритма, который производит bool
Возьмите два значения, примените оператор сравнения — и получите ровно одно из двух:
True или False. Оба исхода —
одинаково успешный результат: сравнение не «падает» и не «не срабатывает»,
когда ответ False — оно просто честно отвечает «нет».
print(5 > 3) # True
print(5 == 3) # False
2 > 3 выполняется так же успешно, как 5 > 3 — просто их результаты разные. Не путайте «условие ложно» с «программа не сработала»: это два совершенно разных явления, и мы вернёмся к этому различию в разделе про if.Все шесть операторов сравнения
| Вопрос | Математика | Python | Пример | Результат |
|---|---|---|---|---|
| равно? | = | == | 5 == 5 | True |
| не равно? | ≠ | != | 5 != 3 | True |
| больше? | > | > | 5 > 3 | True |
| меньше? | < | < | 5 < 3 | False |
| больше или равно? | ≥ | >= | 5 >= 5 | True |
| меньше или равно? | ≤ | <= | 5 <= 3 | False |
print(5 == 5) # равно
print(5 != 3) # не равно
print(5 > 3) # больше
print(5 < 3) # меньше
print(5 >= 5) # больше или равно
print(5 <= 3) # меньше или равно
Числовая прямая — увидеть сравнение
age >= 18 означает «age больше ИЛИ равно 18». Гораздо
нагляднее увидеть это на числовой прямой:
Слева от 18 — область, где условие ложно; сама точка 18 и всё, что правее, — область,
где условие истинно. Точка на 18 закрашена: значит, 18 входит в истинную
область (>= включает границу).
Открытая и закрытая граница
Сравните с temperature < 0:
Здесь точка на 0 пустая (не закрашена) — граница НЕ включена: значение
0 не удовлетворяет условию < 0.
Условимся так на протяжении всей главы:
- закрашенная точка — граница включена (
>=,<=) - пустая точка — граница исключена (
>,<)