September 19, 2023

Урок 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

Тест по изученному материалу