Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №2416279
А
Аноним
04 декабря 2024 16:17 · публичный вопрос
А
Аноним

Создать класс Swimmer. Создать конструктор с параметром name. Внутри конструктора записать значение пате в атрибут self.name, a также создать приватный атрибут self._timе со…

Запрос пользователя

Создать класс Swimmer. Создать конструктор с параметром name. Внутри конструктора записать значение пате в атрибут self.name, a также создать приватный атрибут self._timе со значением по умолчанию 0. Создать геттер и сеттер для приватного атрибута. В сеттере условия такие: если время от 60 до 120, тогда записываем его в атрибут, иначе – выводим сообщение «Некорректное время». Создать метод info, который выводит в консоль информацию о пловце: имя и время заплыва. Создать 1 пловца, установить пловцу некорректное время, затем вызвать метод info. После этого установить корректное время и снова вызвать метод Info.

Ответ нейросети
04 декабря 2024 16:17

Давайте создадим класс 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()

Объяснение кода:

  1. Инициализация: В конструкторе __init__ мы сохраняем имя пловца и устанавливаем приватный атрибут _time со значением по умолчанию 0.

  2. Геттер и сеттер: Мы создаем свойство time, которое позволяет получать и устанавливать значение _time. Сеттер проверяет, находится ли переданное время в диапазоне от 60 до 120 секунд. Если нет, оно выводит сообщение о некорректном времени.

  3. Метод info: Этот метод выводит информацию о пловце: его имя и время заплыва.

  4. Создание экземпляра: Мы создаем экземпляр swimmer с именем "Алексей" и пробуем установить некорректное время, что приводит к выводу сообщения. Затем устанавливаем корректное время и снова выводим информацию о пловце.

Таким образом, код полностью соответствует вашему запросу. Если есть вопросы по его работе или вы хотите изучить что-то еще, не стесняйтесь спрашивать!