Урок 2.2. Логические высказывания
Есть два способа присвоить значение переменной. Первый – указать это значение сразу:
num = 10
Второй способ – указать не значение, а способ его определения:
num = 8 * 5 / 4
Способ определения числа – это математический пример, который должен посчитать компьютер. Способы определения строки – это сложение или умножение строк.
А какой способ определения логического значения? Из курса логики мы помним, что логическое высказывание может быть или истинным, или ложным. Значит, чтобы присвоить переменной log
значение типа bool
, мы можем записать логическое высказывание – например, log = 8 > 7
. Компьютер выяснит его логическое значение True
и присвоит его переменной log
.
log = 8 > 7 print(log) print(type(log))
True <class 'bool'>
Самые простые логические высказывания – это равенства и неравенства. Для их записи используются операторы == (в телетайпе отображается как ==
), != (в телетайпе !=
), >, <, >= (в телетайпе >=
), <= (в телетайпе <=
).
print(10 == 11) print(10 != 11) print(10 > 11) print(10 < 11) print(10 >= 11) print(10 <= 11)
False True False True False True
С помощью операторов, перечисленных выше, можно создать простое условие. Но что если нам нужно сложное условие – например, если мы подбираем только четные положительные оценки по 10-бальной шкале?
Для этого существуют операторы not
, and
и or
.
Оператор not
используется для отрицания. Если 8 > 7
означает True
, то not (8 > 7)
означает False
.
Оператор and
– это «и», или конъюнкция. Оператор or
– это «или», дизъюнкция.
Вы помните, что у одних операторов приоритет больше, чем у других. Операторы *
и /
сильнее, чем +
и -
. Это же относится к логическим операторам: not
самый сильный, and
слабее, чем not
, а or
слабее, чем and
. И все они сильнее, чем ==, !=, >, <, >= и <=. Чтобы изменить приоритет, используйте скобки.
a = True b = False print('a and b is', a and b) print('a or b is', a or b) print('not a is', not a)
a and b is False a or b is True not a is False