Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

3.4 KiB

Общее контрольное задание по теме 8

Антонов Дмитрий, А-03-23
Общее контрольное задание. Создайте и запишите в модуль класс, содержащий следующие компоненты:

  • конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фа-милии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
  • метод для обеспечения операции повышения оклада сотрудника на заданное значение;
  • метод для обеспечения перевода сотрудника из одного отдела в другой;
  • метод для изменения должности сотрудника;
  • свойство, содержащее перечень (список) поощрений сотрудника.
class Departament:
    
    def __init__(self,fio,otdel,dolzhnost,oklad):
        self.fio = fio
        self.otdel = otdel
        self.dolzhnost = dolzhnost
        self.oklad = oklad
        self.__prm = list()
    def increase(self,put):
        self.oklad += put

    def new_work(self,new_otdel):
        self.otdel = new_otdel

    def new_dolzhnost(self,new_dolzh):
        self.dolzhnost = new_dolzh

    def all_info(self):
        print(self.fio,self.otdel,self.dolzhnost,self.oklad,self.prop)

    def getter(self):
        return self.__prm

    def setter(self,new):
        self.__prm.append(new)

    prop = property(getter,setter)

Задание: Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, измене-ния должности и оклада, объявления благодарности.

from control import Departament                     
empl_fr = Departament("Иванов И.И.","УИТ","Доцент",100)                     
empl_sec = Departament("Петров П.П.","ИРЭ","Аспирант",50)
                       
empl_fr.all_info()                    
Иванов И.И. УИТ Доцент 100 []

empl_sec.all_info()     
Петров П.П. ИРЭ Аспирант 50 []

empl_sec.new_work("УИТ")         
empl_sec.all_info()                
Петров П.П. УИТ Аспирант 50 

empl_fr.new_dolzhnost("Академик")       
empl_fr.increase(120)                 
empl_fr.all_info()              
Иванов И.И. УИТ Академик 220  

empl_fr.prop="Отличная работа!"            
empl_fr.all_info()              
Иванов И.И. УИТ Академик 220 Отличная работа!
                      
empl_fr.prop="Отличная работа!"                  
empl_fr.prop="Отличная работа!"                   
empl_fr.prop="Отличная работа!"                    
empl_fr.all_info()                   
Иванов И.И. УИТ Доцент 100 ['Отличная работа!', 'Отличная работа!', 'Отличная работа!']