Условия задачи:

 

Расходы на лечение. Напишите класс под названием 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}')