Условия задачи:
Расходы на лечение. Напишите класс под названием Patient (Пациент), который имеет атрибуты для приведенных ниже данных:
• имя, отчество и фамилия;
• адрес, город, область и почтовый индекс;
• телефонный номер;
• имя и телефон контактного лица для экстренной связи.
Метод _ init _( ) класса Раtient должен принимать аргумент для каждого атрибута.
Класс Patient также должен для каждого атрибута иметь методы-получатели и методы мутаторы.
Затем напишите класс Procedure, который представляет пройденную пациентом медицинскую процедуру. Класс Procedure должен иметь атрибуты для приведенных ниже данных:
• название процедуры;
• дата процедуры;
• имя врача, который выполнял процедуру;
• стоимость процедуры.
Метод __init_ _( ) класса Procedure должен принимать аргумент для каждого атрибута. Класс Procedure также должен для каждого атрибута иметь методы-получатели и методы-мутаторы. Далее напишите программу, которая создает экземпляр класса Patient,
инициализированного демонстрационными данными.
Затем создайте три экземпляра
класса Procedure, инициализированного приведенными в табл. данными.
Программа должна вывести на экран информацию о пациенте, сведения обо всех трех
процедурах и об общей стоимости всех трех процедур.
Процедура № 1 | Процедура № 2 | Процедура № 3 |
Название процедуры: врачебный осмотр | Название процедуры: рентгенография | Название процедуры: анализ крови |
Дата: сегодняшняя | Дата: сегодняшняя | Дата: сегодняшняя |
Врач: Ирвин | Врач: Джемисон | Врач: Смит |
Стоимость: 250.00 | Стоимость: 500.00 | Стоимость: 200.00 |
Решение задачи:
class Patient:
def __init__(self, name, adress, phone_num, name_contact):
self.__name = name
self.__adress = adress
self.__phone_num = phone_num
self.__name_contact = name_contact
def set_name(self, name):
self.__name= name
def set_adress(self,adress):
self.__adress = adress
def set_phone_num(self, phone_num):
self.__phone_num = phone_num
def se_contact(self, contact):
self.__name_contact = contact
def get_name(self):
return self.__name
def get_adress(self):
return self.__adress
def get_phone_num(self):
return self.__phone_num
def get_name_contact(self):
return self.__name_contact
def __str__(self):
return (f'имя пациента:{self.__name} \nадрес пациента:{self.__adress} \nтелефонный номер:{self.__phone_num} '
f'\nконтактное лицо:{self.__name_contact}')
class Procedure:
def __init__(self, name_proc, date, name_doc, cost):
self.__name_proc = name_proc
self.__date = date
self.__name_doc = name_doc
self.__cost = cost
def set_name_proc(self, name_proc):
self.__name_proc = name_proc
def set_date(self, date):
self.__date= date
def set_name_doc(self, name_doc):
self.__name_doc = name_doc
def se_cost(self, cost):
self.__cost = cost
def get_name_proc(self):
return self.__name_proc
def get_date(self):
return self.__date
def get_name_doc(self):
return self.__name_doc
def get_cost(self):
return self.__cost
def __str__(self):
return (f'Название процедуры:{self.__name_proc} \nДата:{self.__date} \nВрач:{self.__name_doc} '
f'\nСтоимость:{self.__cost}')
def name():
first_name = input('Введите имя пациента:')
second_name = input('Введите фамилию пациента:')
otchestvo = input('Введите отчество пациента (при его наличии):')
full_name = first_name + '' + second_name +''+ otchestvo
return full_name
def adress():
contry = input('Введите страну регистрации пациента:')
region = input('Введите регион регистрации пациента:')
naselennii_punkt = input('Введите населенный пункт регистрации:')
street = input('Введите улицу регистрации пациента:')
house = input('Введите номер дома пациента:')
adress = contry+' '+region+' '+naselennii_punkt+' '+street+' '+house
return adress
def contact_man():
name_conmact = input('Укажите имя контактного лица:')
phone_contact = input('Укажите телефонный номер контактного лица:')
contact_man = name_conmact+' '+ phone_contact
return contact_man
name = name()
adress = adress()
phone_num = input('Укажите телефонный номер пациента:')
name_contact = contact_man()
pacient_1 = Patient(name, adress, phone_num, name_contact)
list_proc = []
for i in range(3):
name_proc = input('Укажите наименование процедуры:')
date = input('Укажите дату процедуры:')
name_doc = input('Укажите врача оказывающего мед помощь:')
cost = int(input('Укажите стоимость процедуры:'))
proc = Procedure(name_proc,date,name_doc,cost)
list_proc.append(proc)
print(pacient_1)
print('________________________________________________')
totall = 0
for i in list_proc:
print(i)
print('________________________________')
totall +=i.get_cost()
print(f'Общая стоимость процедур {totall}')