Логика в Python
Если «Логика в Python» вызывает ступор — это нормально: тема собрана из простых идей. Покажем их по порядку: теория, пример, разбор задания и типичные ошибки.
Логика и алгебра логики
Если в задачах по Python путаются условия, скобки и значения True или False, программа начинает принимать неверные решения. Разобравшись в логике, ты научишься читать код по шагам, составлять условия без догадок и увереннее решать задания по математике и информатике. Логика в Python опирается на простую идею: любое высказывание может быть истинным или ложным.
В алгебре логики работают с высказываниями. Например: «7 больше 3» — истинное высказывание, а «2 равно 5» — ложное. В Python этим значениям соответствуют логические типы True и False. Они пишутся с заглавной буквы.
7 > 3 → True
\( 2 == 5 \to False \)
10 < 4 → False
Для сравнения используются операторы >, <, >=, <=, == и !=. Не путай == с одним знаком равно: = присваивает значение переменной, а == проверяет равенство.
Логическое выражение можно сохранить в переменной, вывести на экран или использовать как условие. Это основа конструкций if, while и фильтрации данных.
Операторы сравнения и выражения
Начинай решение с перевода условия задачи на язык сравнений. Если сказано «число не меньше 12», записывай n >= 12. Фраза «число находится между 3 и 9 включительно» означает одновременное выполнение двух сравнений: n >= 3 и n <= 9.
В Python можно записывать цепочку сравнений компактно:
\( 3 <= n <= 9 \)
Она читается так: n не меньше 3 и не больше 9. Скобки особенно важны, когда в выражении несколько действий. Сначала вычисляются сравнения, затем логические операторы, но явные скобки помогают не ошибиться и делают код понятнее.
| Условие | Запись в Python |
|---|---|
| а равно b | a == b |
| а не равно b | a != b |
| а больше b | a > b |
| а не меньше b | a >= b |
Например, выражение (x + 2)² >= 16 сначала вычисляет квадрат суммы, а затем сравнивает результат с 16. В Python степень записывается двумя звёздочками: (x + 2) ** 2.
И, или, не
Сложные условия строятся с помощью операторов and, or и not. Оператор and даёт True только тогда, когда истинны оба условия. Оператор or даёт True, если истинно хотя бы одно. Оператор not меняет значение на противоположное.
True and True → True
True and False → False
False or True → True
not False → True
Представь проверку допуска: ученик должен выполнить оба требования — набрать не меньше 10 баллов и решить задачу. Тогда подойдут and. Если достаточно одного варианта, например паспорта или свидетельства, нужен or.
Оператор not удобно применять к отрицанию: not (x > 5) означает «x не больше 5». Но чаще условие проще записать напрямую: x <= 5. Так меньше скобок и ниже риск ошибки.
Перед записью условия назови его вслух обычными словами. Если в фразе есть «и», почти всегда нужен and, если есть «или» — or. Затем проверь выражение на двух-трёх простых числах.
Как работает if: разбор примера
Конструкция if проверяет логическое выражение и выполняет нужную ветку. Если условие истинно, запускается блок после двоеточия. Отступы обязательны: именно они показывают, какие строки относятся к условию.
Разберём задачу: определить, подходит ли число для диапазона от 4 до 12 включительно и является ли оно чётным.
\( n = 8 \)
условие: 4 <= n <= 12 and n % 2 == 0
\( 4 <= 8 <= 12 \to True \)
\( 8 \% 2 == 0 \to True \)
True and True → True
if условие:
print("Подходит")
результат: Подходит
Сначала проверяется принадлежность диапазону, затем остаток от деления на 2. Знак % возвращает остаток: для чётного числа он равен 0. Оба результата истинны, поэтому выполняется команда print.
Если n равно 13, первая часть будет False, и всё условие станет False. В Python and может остановить проверку после первого False, потому что итог уже не изменится. Это называется коротким замыканием.
Типичные ошибки и проверка решения
Первая ошибка — использование = вместо == в проверке. Вторая — неправильное понимание or. Условие x > 5 or x < 2 истинно для чисел за пределами промежутка, а не внутри него. Для промежутка обычно нужны and: x > 2 and x < 5.
Третья ошибка связана с приоритетом операторов. Запись a or b and c сначала вычисляет b and c, а затем применяет or. Если смысл важен, ставь скобки: (a or b) and c.
Не проверяй условие только на одном числе. Для диапазона возьми число меньше границы, число на границе и число больше неё. Так быстро обнаруживаются лишние или пропущенные знаки.
Полезно составить маленькую таблицу истинности. Для and единственный положительный результат — True и True. Для or единственный отрицательный результат — False и False. У not всегда один аргумент, и он меняет его.
Если условие получилось длинным, раздели его на части и сохрани в переменные с понятными именами: in_range, is_even. Такой код легче читать и отлаживать. Больше коротких тренировок по условиям можно выполнить в личном кабинете с бесплатной практикой.
Что запомнить
Логическое выражение в Python имеет значение True или False. Сравнения записываются операторами >, <, >=, <=, == и !=. Для объединения условий используй and, or и not, а скобки помогают явно показать порядок вычислений.
Алгоритм решения простой: выдели отдельные факты из текста, преврати каждый факт в сравнение, соедини их подходящим оператором и проверь граничные значения. Помни: «включительно» требует знака ≥ или <=, а равенство проверяется через ==.
Если готовишься к экзамену, сопоставляй логические условия с математическими промежутками и проверяй их на числовой прямой. После разбора зарегистрируйся и реши 5 заданий бесплатно в личном кабинете. Для системной подготовки также пригодятся материалы по ОГЭ и ЕГЭ.
Главный следующий шаг — не перечитывать правило, а составить несколько условий самостоятельно: для чётности, диапазона и допуска по двум критериям.
Чем True отличается от числа 1?
True — логическое значение, а 1 — целое число. В некоторых вычислениях Python учитывает их связь, но в учебных задачах важно различать смысл: True сообщает об истинности условия, а 1 обозначает количество или числовое значение.
Когда использовать and, а когда or?
Используй and, когда должны выполниться все требования одновременно. Используй or, когда достаточно хотя бы одного варианта. Переведи условие в обычную речь и обрати внимание на слова «и» и «или».
Как закрепить тему после разбора?
Реши несколько коротких задач: проверь знак числа, принадлежность диапазону, чётность и выполнение двух условий. Для каждого примера подставь граничные значения и объясни результат словами, а затем проверь его в Python.
Почему нужны скобки в логическом выражении?
Скобки явно задают порядок действий и защищают от ошибки в длинных условиях. Особенно важно использовать их, если в одной строке встречаются and и or или если отрицание относится ко всему составному выражению.
Не оставляйте тему «прочитанной»
Понимание — половина дела. Вторая — практика с обратной связью: личный кабинет Просто Урок покажет, где вы ошибаетесь, и подтянет слабые места.