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

Создать класс Patient. Создать конструктор с параметром name. Внутри конструктора записать значение пате в атрибут self.name. Также в конструкторе создать 2 приватных атрибута:…

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

Создать класс Patient. Создать конструктор с параметром name. Внутри конструктора записать значение пате в атрибут self.name. Также в конструкторе создать 2 приватных атрибута: age и height – возраст и рост пациента. Дать им значения по умолчанию. Создать геттер и сеттер для обоих атрибутов. У возраста диапазон от 0 до 120, у роста – от 40 до 250. Создать метод info, в котором выводится вся информация о пациенте. Создать пациента. Установить ему неправильный рост, затем неправильный возраст, затем вызвать метод info. После этого установить корректные значения и повторно вызвать метод info.

Ответ нейросети
09 декабря 2024 13:49

Конечно! Давайте создадим класс Patient, как вы описали. Этот класс будет иметь конструктор, два приватных атрибута для возраста и роста, геттеры и сеттеры для них, а также метод info, который будет выводить информацию о пациенте.

Вот пример реализации этого класса на языке Python:

class Patient:
    def __init__(self, name):
        self.name = name
        self.__age = 0  # Приватный атрибут возраста с заданным значением по умолчанию
        self.__height = 160  # Приватный атрибут роста с заданным значением по умолчанию

    @property
    def age(self):
        return self.__age

    @age.setter
    def age(self, value):
        if 0 <= value <= 120:
            self.__age = value
        else:
            print("Возраст должен быть в диапазоне от 0 до 120.")

    @property
    def height(self):
        return self.__height

    @height.setter
    def height(self, value):
        if 40 <= value <= 250:
            self.__height = value
        else:
            print("Рост должен быть в диапазоне от 40 до 250 сантиметров.")

    def info(self):
        print(f"Имя пациента: {self.name}")
        print(f"Возраст: {self.age}")
        print(f"Рост: {self.height}")

# Создаем пациента с именем "Иван"
patient = Patient("Иван")

# Устанавливаем неправильный рост и выводим информацию
patient.height = 300  # Неправильное значение
patient.age = 150    # Неправильное значение
patient.info()  

# Устанавливаем корректные значения и повторно выводим информацию
patient.height = 180  # Корректное значение
patient.age = 30      # Корректное значение
patient.info()  

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

  1. Конструктор __init__: Он принимает имя пациента и устанавливает его значение в self.name. Также инициализирует приватные атрибуты __age и __height значениями по умолчанию.
  2. Геттеры и сеттеры: Использована конструкция @property для создания геттеров и сеттеров. В сеттерах проверяется, что значение находится в допустимых пределах.
  3. Метод info: Этот метод выводит все доступные данные о пациенте.
  4. Создание экземпляра: В конце мы создаем экземпляр класса Patient, устанавливаем для него неправильные значения возраста и роста, а затем корректные.

Теперь вы можете попробовать изменить код и поэкспериментировать с ним! Если возникнут вопросы, не стесняйтесь обращаться!