Ответ «да» или «нет»
Операции сравнения возвращают логическое значение: True или False. Например, 5 > 3 равно True, 5 == 3 — False. Тип такого результата — bool; названия значений пишутся с заглавной первой буквы.
Задание источника
Функция is_pensioner должна вернуть True при возрасте 60 или больше. Это фиксированное правило учебного задания, не описание действующего пенсионного законодательства.
def is_pensioner(age: int) -> bool:
return age >= 60
Проверка границы
print(is_pensioner(59)) # False
print(is_pensioner(60)) # True
print(is_pensioner(61)) # True
Знак >= включает само значение 60. Замена на > изменила бы ответ на границе. Для подобных условий полезно проверить значение перед порогом, сам порог и значение после него.
Возвращать сравнение напрямую
Сравнение уже является логическим результатом. Не требуется дополнительное ветвление «если условие истинно, вернуть True, иначе False». Прямой return короче и сохраняет точный смысл.
Присваивание и равенство
= связывает имя со значением, а == сравнивает значения. Эти операции не взаимозаменяемы. Строки "True" и "False" также не являются логическими константами: это текст.
Функция проверяет только указанное числовое условие. Она не удостоверяет корректность возраста, не читает дату рождения и не выполняет проверку документов. Аннотация int описывает ожидаемый тип, но не запрещает все неподходящие данные автоматически.
Hexlet / Code Basics и участники · Исходный урок и решение · GNU AGPL v3. Порог сохранён исключительно как учебное правило.