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

4.1 KiB

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

Таболин Иван, А-01-23

Задание

Создайте и запишите в модуль класс, содержащий следующие компоненты: - конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамиилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения; - метод для обеспечения операции повышения оклада сотрудника на заданное значение; - метод для обеспечения перевода сотрудника из одного отдела в другой; - метод для изменения должности сотрудника; - свойство, содержащее перечень (список) поощрений сотрудника. Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.

Решение

class Workers:
    def __init__(self,fio='',otdel='',dolznost='',oklad=0):
        self.fio=fio
        self.otdel=otdel
        self.dolznost=dolznost
        self.oklad=oklad
        self.__poos=[]

    def pov_oklad(self,uvel):
        self.oklad+=uvel
        print('Сотрудник', self.fio, 'теперь имеет оклад', self.oklad)
        return self.oklad

    def perevod(self,new_otdel):
        self.otdel=new_otdel
        print('Сотрудник', self.fio, 'переведен в отдел', self.otdel)
        return self.otdel

    def new_dolznost(self,new_dolzn):
        self.dolznost=new_dolzn
        print('Сотрудник', self.fio, 'переведен на должность', self.dolznost)
        return self.dolznost
    @property
    def view_poos(self):
        print('Поощрения сотрудника', self.fio)
        print(self.__poos)
        return self.__poos

    def add_poos(self, new_poos):
        self.__poos.append(new_poos)

Тестирование

worker1=Workers('TabolinIA','IVTI','bakalavr_3',2400)
worker2=Workers('BerezhkovDA','IVTI','bakalavr_3',2400)

print('ФИО:', worker1.fio,'\n', 'Должность:',worker1.dolznost,'\n', 'Институт:', worker1.otdel,'\n', 'Оклад (стипендия):', worker1.oklad)                                            
ФИО: TabolinIA 
 Должность: bakalavr_3 
 Институт: IVTI 
 Оклад (стипендия): 2400

worker1.new_dolznost('bakalavr_4')
Сотрудник TabolinIA переведен на должность bakalavr_4
'bakalavr_4'
print('ФИО:', worker1.fio,'\n', 'Должность:',worker1.dolznost,'\n', 'Институт:', worker1.otdel,'\n', 'Оклад (стипендия):', worker1.oklad)          
ФИО: TabolinIA 
 Должность: bakalavr_4 
 Институт: IVTI 
 Оклад (стипендия): 2400

worker2.perevod('GPI')                     
Сотрудник BerezhkovDA переведен в отдел GPI
'GPI'
worker2.pov_oklad(worker2.oklad*2)           
Сотрудник BerezhkovDA теперь имеет оклад 7200
7200

print('ФИО:', worker2.fio,'\n', 'Должность:',worker2.dolznost,'\n', 'Институт:', worker2.otdel,'\n', 'Оклад (стипендия):', worker2.oklad)
ФИО: BerezhkovDA 
 Должность: bakalavr_3 
 Институт: GPI 
 Оклад (стипендия): 7200

worker1.add_poos('Благодарность 08.12.2025')
worker1.view_poos
Поощрения сотрудника TabolinIA
['Благодарность 08.12.2025']