Теоретический материал
Тип данных 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).