/
megaokna43
/
courses_4
Обзор
Документация
Войти
/
megaokna43
/
courses_4
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/salary.py
40 строк
2 KB
megaokna43
проверил работу кода и тестов
14 дек 2024, 21:51
14 дек 2024, 21:51
dda6769
Код
Авторство
О чём код?
class Salary: """Класс Salary, который представляет класс зарплаты""" def __init__(self, salary_from: float, salary_to: float): """Конструктор класса, который принимает нижнюю и верхнюю границы зарплаты.""" self.__salary_from = self.__validate_salary(salary_from) self.__salary_to = self.__validate_salary(salary_to) @staticmethod def __validate_salary(salary): """Метод для валидации зарплаты.""" return salary @property def salary_from(self) -> float: """Возвращает нижнюю границу зарплаты""" return self.__salary_from @property def salary_to(self) -> float: """Возвращает верхнюю границу зарплаты""" return self.__salary_to def __lt__(self, other): """Метод сравнения, который используется для сортировки вакансий по зарплате.""" if not isinstance(other, Salary): return NotImplemented # Сравниваем по нижней границе зарплаты if self.salary_from == 0 and other.salary_from == 0: return False # Оба значения равны, считаем их равными if self.salary_from == 0: return True # Если текущая зарплата 0, она меньше любой другой if other.salary_from == 0: return False # Если другая зарплата 0, она меньше текущей # Сравниваем по нижней границе зарплаты, затем по верхней if self.salary_from != other.salary_from: return self.salary_from < other.salary_from return self.salary_to < other.salary_to