Чтобы принимать решения, программе нужно уметь отвечать на вопросы вида «больше ли возраст 18?» или «равны ли два слова?». Ответ на такой вопрос — всегда одно из двух: True (да, истина) или False (нет, ложь). Это отдельный тип данных — bool (вспомните прошлый модуль).
Операторы сравнения
Результат сравнения — всегда True или False.
Оператор
Смысл
==
равно
!=
не равно
><
больше / меньше
>=<=
больше-равно / меньше-равно
🚫Внимание
Не путайте = и ==! Один знак = — это присваивание («положи значение в переменнуюИменованное хранилище для значения. Имя связывается со значением через присваивание: x = 5.»), два == — это сравнение («проверь, равны ли»). Это самая частая ошибка новичков, и Python иногда даже не подсказывает — просто получается не то.
▶ compare.py
Разберём 7 >= 7: знак >= означает «больше или равно». 7 не больше 7, но равно — а значит, хотя бы одно условие выполнено, и ответ True.
Логические операторы
Часто одного условия мало: «возраст больше 18 и меньше 65». Для соединения условий есть три слова:
and («и») — истина, если оба условия истинны.
or («или») — истина, если хотя бы одно истинно.
not («не») — переворачивает значение: not True = False.
Аналогия: and — это как фейс-контроль «есть И билет, И паспорт» (нужны оба). or — «оплата картой ИЛИ наличными» (хватит любого).
▶ logic.py
💡Совет
Предскажите вывод. Что напечатает True and False? А True or False? Запустите и проверьте: and требует оба True, or — хотя бы один.
▶ predict-logic.py
⚠️ Частые ошибки новичков
Ошибка. Написать = там, где нужно сравнение ==. Внутри проверки = — это синтаксическая ошибка. Запустите код, увидите SyntaxError, и почините: замените одиночный = на ==.
▶ broken-eq.py
Заданиерешение.py
Переменная n = 42. Запишите в переменную is_even результат проверки «n чётное» (True или False).
Заданиерешение.py
Даны age = 30 и has_ticket = True. Положите в can_enter значение True, только если возраст не меньше 18 и билет есть.
Заданиелёгкаярешение.py
Год year = 2024. Проверьте, високосный ли он по упрощённому правилу «делится на 4», и запишите результат (True/False) в переменную is_leap.
Комментарии
Загрузка…
Загрузка комментариев…