Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с задачей Python пожалуйста

Ярик Чебатько Ученик (110), на голосовании 2 месяца назад
Создайте классы, представляющие объекты ветеринарной клиники. Методы для класса Врач: врач принимает пациента на прием и регистрирует его в клинике. Пациент добавляется в список пациентов ветклиники. Методы для класса Пациент: пациент начинает лечение у указанного врача. Заболевание пациента меняется на «в лечении». пациент завершил лечение и выписывается из клиники.
Голосование за лучший ответ
Владимир Чуркин Ученик (229) 3 месяца назад
Вот код:
 class Doctor(): # Создаем класс Доктор 

def __init__(self, name): # инициалиализация, запрашиваем имя
self.name = name
self.list_of_registered = [] # Список зарегистрированных
self.list_of_patients = [] # Список пациентов

def register_patient(self, patient : Patient): # регистрация пациента, указываем, что нужен объект класса Пациент
self.list_of_registered.append(patient.name)

def add_to_list_of_patients(self, patient : Patient): # добавление в список пациентов
if not patient.name in self.list_of_registered: # Если не зарегистрирован, то пусть сначала пойдет регистрироваться и заполнять тонну бумаг :)
self.register_patient(patient)
self.list_of_patients.append(patient.name)

def remove_from_list_of_patients(self, patient : Patient): # удаление из списка пациентов
if patient.name in self.list_of_registered: # Если не зарегистрирован, то и удалять не нужно
index = self.list_of_patients.index(patient.name)
del self.list_of_patients[index]

class Patient(): # создаем класс Пациент

def __init__(self, name, disease): # Инициализация, запрашиваем имя
self.name = name
self.disease = disease # болезнь
self.doctor = None # доктор

def start_treatment(self, doctor : Doctor): # начало лечения, указываем что нужет объект класса Доктор
self.doctor = doctor
self.disease = 'В лечении'

def finish_treatment(self): # закончить лечение
if self.disease != 'В лечении': # Если не начал лечение, пусть сначало начнет :)
self.start_treatment(self.doctor)
self.doctor.remove_from_list_of_patients(self) # удаляемся из списка пациентов, но остаемся зарегистрированным
self.doctor = None
self.disease = None
Угарнул с того что ты назвал врача ветеринаром, а потом указал, что заболевание у пациента
Похожие вопросы