# Общее контрольное задание по Теме 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.__pooshreniya = [] def povysit_oklad(self, summa_povysheniya): """ Метод для повышения оклада сотрудника на заданное значение """ if summa_povysheniya <= 0: raise ValueError("Сумма повышения должна быть положительной!") self.oklad += summa_povysheniya return self.oklad def perevesti_v_drugoi_otdel(self, novy_otdel): """Перевод сотрудника в другой отдел""" self.otdel = novy_otdel print(f"Сотрудник {self.fio} переведен в отдел: {novy_otdel}") def izmenit_dolzhnost(self, novaya_dolzhnost): """Метод изменения должности""" self.dolzhnost = novaya_dolzhnost def get_pooshreniya(self): """Получить список поощрений""" return self.__pooshreniya.copy() def dobavit_pooshrenie(self, text): """Добавить поощрение в список""" self.__pooshreniya.append(text) @property def pooshreniya(self): """Свойство для получения списка поощрений""" return self.__pooshreniya.copy() ``` ## Вывод программы ```py emp1=Employee ("Обычайко Д.С.", "Кафедра Управления и информационных технологий", "Ассистент", 100000) emp2=Employee ("Пронин А.С.", "Кафедра Управления и информационных технологий", "Ассистент", 100000) print(f"{emp1.fio}, {emp1.otdel}, {emp1.dolzhnost}, оклад: {emp1.oklad}") Обычайко Д.С., Кафедра Управления и информационных технологий, Ассистент, оклад: 100000 print(f"{emp2.fio}, {emp2.otdel}, {emp2.dolzhnost}, оклад: {emp2.oklad}") Пронин А.С., Кафедра Управления и информационных технологий, Ассистент, оклад: 100000 emp2.perevesti_v_drugoi_otdel("Деканат") Сотрудник Пронин А.С. переведен в отдел: Деканат emp1.izmenit_dolzhnost("Старший преподаватель") print(f"Новая должность {emp1.fio}: {emp1.dolzhnost}") Новая должность Обычайко Д.С.: Старший преподаватель novy_oklad1 = emp1.povysit_oklad(20000) emp2.dobavit_pooshrenie("За публикацию научной статьи") print(f" Поощрения: {emp2.get_pooshreniya()}") Поощрения: ['За публикацию научной статьи'] employee1.povysit_oklad(15000) 65000 ```