# Общее контрольное задание по Теме 9 Выполнил: Корнеев М.А. ## Задание Создайте и запишите в модуль класс, содержащий следующие компоненты: - конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения; - метод для обеспечения операции повышения оклада сотрудника на заданное значение; - метод для обеспечения перевода сотрудника из одного отдела в другой; - метод для изменения должности сотрудника; - свойство, содержащее перечень (список) поощрений сотрудника. - Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобрази-те эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изме-нения должности и оклада, объявления благодарности. ## Решение okz.py ```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 okz import * >>> emp1 = Employee('Челышев Эдуард Артурович', 'ВМСС', 'Ассистент', 76000) >>> emp2 = Employee('Бобряков Александр Владимирович', 'УИТ', 'Заведующий кафедрой', 760000) >>> emp1.change_department('УИТ') Сотрудник Челышев Эдуард Артурович переведен из отдела ВМСС в отдел УИТ. >>> emp1.otdel 'УИТ' >>> emp1.change_position('Старший преподаватель') Должность сотрудника Челышев Эдуард Артурович изменена с Ассистент на Старший преподаватель. >>> emp1.dolzhnost 'Старший преподаватель' >>> emp2.salary_raise(-100000) Оклад сотрудника Бобряков Александр Владимирович увеличен на -100000. Новый оклад: 660000 >>> emp2.oklad 660000 >>> emp2.add_encouragement('За победу в конкурсе "лучшая кафедра"') Сотрудник Бобряков Александр Владимирович теперь имеет поощрение: За победу в конкурсе "лучшая кафедра" >>> emp2.pooshrena Traceback (most recent call last): File "", line 1, in emp2.pooshrena AttributeError: 'Employee' object has no attribute 'pooshrena'. Did you mean: 'pooshrenia'? >>> emp2.pooshrenia ['За победу в конкурсе "лучшая кафедра"'] ```