Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чаплыгин А.Н. Учимся програмировать вместе с Пи...doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

§5.2. Простые логические выражения и логический тип данных

В третьей главе мы научились использовать функции, тем получили мощный способ управления потоком выполнения: и наши программы перестали быть линейными. Функции выполняются без проверки каких-либо условий, как только поток выполнения программы доходит до вызова соответствующей функции. Но практически в любой программе возникает потребность в выполнении той или иной части кода программы в зависимости от введенных пользователем данных, результатов промежуточных вычислений и т.п.

Во всех языках программирования высокого (и сверхвысокого) уровня имеется возможность разветвления программы; при этом выполняется одна из ветвей программы в зависимости от выполнения или невыполнения какого-либо условия. Прежде чем переходить к инструкции, осуществляющей выбор ветки программы, по которой пойдет поток выполнения, разберемся с логическими выражениями.

Логическими выражениями называют выражения результатом которых является истина (True) или ложь (False). В простейшем случае любое утверждение может быть истинным или ложным. Например, истинность утверждения «на улице идет дождь» зависит от того, какая на улице погода в данный момент. Или 2+2 равно 4 - истинное, а 2+2 равно 5 -ложное выражение.

Операции сравнения в программировании встречаются чаще других, поэтому с них мы и начнем. Для проверки равенства двух значений в Питоне используется оператор == (два знака равенства без пробела между ними).

>» х = 2 + 2

>» х == 4

True

>» х == 5

False

50

Ревизия: 170

Логические выражения, условия и рекурсия

Другие операции сравнения:

>» X

!= 5

#

X

не равен 5

True

>» X

> 5

#

X

больше 5

False

>» X

< 5

#

X

меньше 5

True

>» X

>= 4

#

X

больше либо равен

4

True

>» X

<= 4

#

X

меньше либо равен

4

True

Разумеется, результат сравнения двух значений мы можем записать в переменную:

>» у = х == 5

>» print у False

Как вы, наверное, заметили приоритет операций сравнения меньше приоритета арифметических операций, но больше, чем у операции присваивания.

Проверим тип переменной, в которую мы записали результат сравнения:

>» type (у) <type 'bool'>

Как видите, в Питоне предусмотрен специальный логический тип данных, но появился он только в 2.2.2 версии. До этого в Питоне истине соответствовало число 1, а ложь кодировалась как 0; команда type (4 != 5) возвращала значение <type 'int'x

Упражнение. Поэкспериментируйте с преобразованием типа значений в логический тип. Несколько предложений для экспериментов:

>»

bool(2)

>»

bool(-1)

>»

bool (1.0)

>»

bool("string")

>»

bool(true)

Объясните полученные результаты.