Теоретический материал
Тип данных bool
Операторы сравнения возвращают значения специального логического типа bool
. Значения логического
типа могут принимать одно из двух значений: True
(истина) или False
(ложь). Если преобразовать
логическое True
к типу int
, то получится 1, а преобразование False
даст 0.
При обратном преобразовании число 0 преобразуется в False
, а любое ненулевое число в True
.
При преобразовании str
в bool
пустая строка преобразовывается в False
,
а любая непустая строка в True
.
Логические операторы
Иногда нужно проверить одновременно не одно, а несколько условий.
Например, проверить, является ли данное число четным можно при помощи
условия (n % 2 == 0)
(остаток от деления n
на 2
равен 0
),
а если необходимо проверить, что два данных целых числа n
и m
являются
четными, необходимо проверить справедливость обоих условий: n % 2 == 0
и m % 2 == 0
, для чего их необходимо объединить при помощи оператора and
(логическое И): n % 2 == 0 and m % 2 == 0
.
В Питоне существуют стандартные логические операторы: логическое И, логическое ИЛИ, логическое отрицание.
Логическое И является бинарным оператором
(то есть оператором с двумя операндами: левым и правым)
и имеет вид and
.
Оператор and
возвращает True
тогда и только
тогда, когда оба его операнда имеют значение True
.
Логическое ИЛИ является бинарным оператором и возвращает True
тогда и только
тогда, когда хотя бы один операнд равен True
. Оператор “логическое ИЛИ” имеет
вид or
.
Логическое НЕ (отрицание) является унарным (то есть с одним операндом)
оператором и имеет вид not
, за которым
следует единственный операнд. Логическое НЕ возвращает True
,
если операнд равен False
и наоборот.
Пример. Проверим, что хотя бы одно из чисел a или b оканчивается на 0:
if a % 10 == 0 or b % 10 == 0:
Проверим, что число a — положительное, а b — неотрицательное:
if a > 0 and not (b < 0):
Или можно вместо not (b < 0)
записать (b >= 0)
.