Python: Логический тип
Кроме арифметических операций, со школы нам известны операции сравнения. Например, 5 > 4
. Это звучит как вопрос: «5 больше 4?». В данном случае ответ «да». В других случаях ответом может быть «нет» (например, для 3 < 1
).
Операции сравнения не имеют привязки к числам. Сравнивать можно практически всё что угодно, например, строки. Каждый раз, когда мы входим на какой-то сайт, внутри происходит сравнение введенных логина и пароля с теми, какие есть в базе. И только если они есть, нас пускают во внутрь (аутентифицируют).
Языки программирования адаптировали все математические операции сравнения практически в неизменном виде. Единственное серьезное отличие – операторы равенства и неравенства. В математике для этого используется обычное равно =
, но в программировании такое встречается не часто. Во многих языках символ =
используется для присваивания значений переменным, поэтому для сравнения в Python взяли ==
.
Список операций сравнения:
<
— меньше<=
— меньше или равно>
— больше>=
— больше или равно==
— равно!=
— не равно
Эти операции применимы не только к числам. Например, с помощью оператора равенства можно сравнить строки:
password == text
— это сравнение идентичности строк, записанных в разных переменных.
Логическая операция типа 5 > 4
или password == text
— это выражение, и его результат — специальное значение True
(«истина») или False
(«ложь»). Это новый для нас тип данных — bool
.
result = 5 > 4
print(result) # => True
print('one' != 'one') # => False
Наряду со строками (str
) и целыми и рациональными числами, тип bool
(булев) — это один из примитивных типов данных в Python.
Попробуем написать простую функцию, которая принимает на вход возраст ребёнка и определяет, младенец ли он. Младенцами считаются дети до года:
def is_infant(age):
return age < 1
Пользуемся тем фактом, что любая операция — это выражение, поэтому единственной строчкой функции пишем «вернуть то значение, которое получится в результате сравнения age < 1
».
В зависимости от пришедшего аргумента, сравнение будет либо истинным (True
), либо ложным (False
), а return
вернёт этот результат.
Вызовем функцию и выведем на экран результат:
def is_infant(age):
return age < 1
print(is_infant(3))
False
А теперь проверим ребенка, которому полгода:
print(is_infant(0.5))
True
Задание
Напишите функцию is_pensioner()
, которая принимает возраст в качестве единственного аргумента и проверяет, является ли этот возраст пенсионным. Пенсионным считается возраст 60 лет и больше.
Примеры вызова:
is_pensioner(75) # True
is_pensioner(18) # False
Определения
Логический тип (bool) - тип данных с двумя возможными значениями:
True
(истина) иFalse
(ложь).
Пожалуйста, авторизуйтесь, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт.