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

4.1 KiB

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

Голощапов Д.Е., А-01-23

Задание:

Создать и записать в модуль класс, содержащий следующие компоненты:

  • конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;

  • метод для обеспечения операции повышения оклада сотрудника на заданное значение;

  • метод для обеспечения перевода сотрудника из одного отдела в другой;

  • метод для изменения должности сотрудника;

  • свойство, содержащее перечень (список) поощрений сотрудника.

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

Решение

>>> class Employee:
...     def __init__(self, fio="", otdel="", dolzhnost="", oklad=0):
...         self.fio = fio
...         self.otdel = otdel
...         self.dolzhnost = dolzhnost
...         self.oklad = oklad
...         self._pooshchreniya = []
...     
...     def povyshenie_oklad(self, summa):
...         if summa > 0:
...             self.oklad += summa
...             return self.oklad
...         else:
...             print("Сумма для повышения оклада должна быть больше нуля.")
...     
...     def perevod(self, new_otdel):
...         self.otdel = new_otdel
...         return self.otdel
...     
...     def cmena_dolzhnosty(self, new_dolzhnost):
...         self.dolzhnost = new_dolzhnost
...         return self.dolzhnost
...     
...     @property
...     def pooshchrenia(self):
...         return self._pooshchreniya
...     
...     def add_pooshchrenie(self, pooshchrenie):
...         self._pooshchreniya.append(pooshchrenie)
...         print(f"Сотрудник {self.fio} теперь имеет поощрение: {pooshchrenie}")
... 
...         
>>> emp_1=Employee ("Толчеев В.О.", "Кафедра Управления и информационных технологий", "Профессор", 300000)
>>> emp_2=Employee ("Бобряков А.В.", "Кафедра Управления и информационных технологий", "Заведующий кафедрой", 1500000)
>>> print(f"{emp_1.fio}, {emp_1.otdel}, {emp_1.dolzhnost}, оклад: {emp_1.oklad}")
Толчеев В.О., Кафедра Управления и информационных технологий, Профессор, оклад: 300000
>>> print(f"{emp_2.fio}, {emp_2.otdel}, {emp_2.dolzhnost}, оклад: {emp_2.oklad}")
Бобряков А.В., Кафедра Управления и информационных технологий, Заведующий кафедрой, оклад: 1500000
>>> emp_2.perevod("МАИ")
'МАИ'
>>> emp_1.povyshenie_oklad(20000)
320000
>>> emp_2.cmena_dolzhnosty("Ассистент")
'Ассистент'
>>> emp_2.add_pooshchrenie("Выслуга лет")
Сотрудник Бобряков А.В. теперь имеет поощрение: Выслуга лет
>>> emp_1.add_pooshchrenie("Лучший ")
Сотрудник Толчеев В.О. теперь имеет поощрение: Лучший 
>>> print(f"Поощрения {emp_1.fio}: {emp_1.pooshchrenia}")
Поощрения Толчеев В.О.: ['Лучший ']
>>> print(f"Поощрения {emp_2.fio}: {emp_2.pooshchrenia}")