# Общее контрольное задание по теме 9 Бережков Дмитрий А-01-23 ## Задание: Создайте и запишите в модуль класс, содержащий следующие компоненты: - конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения; - метод для обеспечения операции повышения оклада сотрудника на заданное значение; - метод для обеспечения перевода сотрудника из одного отдела в другой; - метод для изменения должности сотрудника; - свойство, содержащее перечень (список) поощрений сотрудника. Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобра-зите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности. ## Решение: ```py class Employee: def __init__(self, fio, otdel, dolzhnost, oklad): self.fio = fio self.otdel = otdel self.dolzhnost = dolzhnost self.oklad = oklad self._pooshrenia = [] def salary_raise(self, summa): self.oklad += summa print(f"Оклад сотрудника {self.fio} увеличен на {summa}. Новый оклад: {self.oklad}") def change_department(self, new_department): print(f"Сотрудник {self.fio} переведен из отдела {self.otdel} в отдел {new_department}.") self.otdel = new_department def change_position(self, new_position): print(f"Должность сотрудника {self.fio} изменена с {self.dolzhnost} на {new_position}.") self.dolzhnost = new_position @property def pooshrenia(self): return self._pooshrenia def add_encouragement(self, tekst): self._pooshrenia.append(tekst) print(f"Сотрудник {self.fio} теперь имеет поощрение: {tekst}") ``` ```py >>> from task import * >>> emp1 = Employee('Челышев Эдуард Артурович', 'ВМСС', 'Ассистент', 77777) >>> emp2 = Employee('Бобряков Александр Владимирович', 'УИТ', 'Заведующий кафедрой', 777777) >>> emp1.change_department('УИТ') Сотрудник Челышев Эдуард Артурович переведен из отдела ВМСС в отдел УИТ. >>> emp1.change_department('УИТ') Сотрудник Челышев Эдуард Артурович переведен из отдела УИТ в отдел УИТ. >>> emp1.otdelemp1 = Employee('Челышев Эдуард Артурович', 'ВМСС', 'Ассистент', 77777) >>> emp1 = Employee('Челышев Эдуард Артурович', 'ВМСС', 'Ассистент', 77777) >>> emp2 = Employee('Бобряков Александр Владимирович', 'УИТ', 'Заведующий кафедрой', 777777) >>> emp1.change_department('УИТ') Сотрудник Челышев Эдуард Артурович переведен из отдела ВМСС в отдел УИТ. >>> emp1.otdel 'УИТ' >>> emp1.change_position('Старший преподаватель') Должность сотрудника Челышев Эдуард Артурович изменена с Ассистент на Старший преподаватель. >>> emp1.dolzhnost 'Старший преподаватель' >>> emp2.salary_raise(-100000) Оклад сотрудника Бобряков Александр Владимирович увеличен на -100000. Новый оклад: 677777 >>> emp2.oklad 677777 >>> emp2.add_encouragement('За победу в конкурсе "лучшая кафедра"') Сотрудник Бобряков Александр Владимирович теперь имеет поощрение: За победу в конкурсе "лучшая кафедра" >>> emp2.pooshrenia ['За победу в конкурсе "лучшая кафедра"'] ```