Давайте создадим класс Swimmer, который будет соответствовать вашему запросу. Начнем с определения конструктора, атрибутов и методов.
Вот пример реализации:
class Swimmer:
def __init__(self, name):
self.name = name # Сохранение имени пловца
self._time = 0 # Приватный атрибут времени заплыва
@property
def time(self):
return self._time # Геттер для метода времени
@time.setter
def time(self, value):
# Условие для проверки корректности времени
if 60 <= value <= 120:
self._time = value # Установка времени, если оно корректно
else:
print("Некорректное время") # Сообщение, если время некорректное
def info(self):
# Метод для вывода информации о пловце
print(f"Имя пловца: {self.name}, Время заплыва: {self._time} секунд")
# Создание экземпляра класса Swimmer
swimmer = Swimmer("Алексей")
# Попробуем установить некорректное время
swimmer.time = 150 # Это значение вне диапазона, поэтому должно вывести сообщение
# Вызовем метод info, чтобы проверить текущее состояние
swimmer.info()
# Установим корректное время
swimmer.time = 100 # Задаем корректное время
# Снова вызовем метод info, чтобы увидеть обновленные данные
swimmer.info()
Объяснение кода:
Инициализация: В конструкторе
__init__мы сохраняем имя пловца и устанавливаем приватный атрибут_timeсо значением по умолчанию 0.Геттер и сеттер: Мы создаем свойство
time, которое позволяет получать и устанавливать значение_time. Сеттер проверяет, находится ли переданное время в диапазоне от 60 до 120 секунд. Если нет, оно выводит сообщение о некорректном времени.Метод info: Этот метод выводит информацию о пловце: его имя и время заплыва.
Создание экземпляра: Мы создаем экземпляр
swimmerс именем "Алексей" и пробуем установить некорректное время, что приводит к выводу сообщения. Затем устанавливаем корректное время и снова выводим информацию о пловце.
Таким образом, код полностью соответствует вашему запросу. Если есть вопросы по его работе или вы хотите изучить что-то еще, не стесняйтесь спрашивать!