Кроме арифметических операций в математике есть операции сравнения, например, 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
print(is_infant(3)) # => False
https://replit.com/@hexlet/python-basics-logic-bool-type
Любая операция — это выражение, поэтому единственной строчкой функции пишем «вернуть то значение, которое получится в результате сравнения age < 1
». В зависимости от того, какой аргумент пришел, сравнение будет истинным (True
) или ложным (False
), а return
вернет этот результат.
А теперь проверим ребенка, которому полгода:
print(is_infant(0.5)) # => True
Результат операции True
. Значит, ребенок действительно младенец.
Напишите функцию is_pensioner()
, которая принимает возраст в качестве единственного аргумента и проверяет, является ли этот возраст пенсионным. Пенсионным считается возраст 60 лет и больше.
Примеры вызова:
is_pensioner(75) # True
is_pensioner(18) # False
Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Это нормально 🙆, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.
В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.
Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.
Логический тип (bool) — тип данных с двумя возможными значениями: True
(истина) и False
(ложь).