From 4376379cfab8817b332bfbe5c5705cde4566eee2 Mon Sep 17 00:00:00 2001 From: MamakinYR Date: Sun, 7 Dec 2025 19:11:15 +0300 Subject: [PATCH] task:added solution --- TEMA9/EMP.py | 30 ++++++++++++++++++++++ TEMA9/task.md | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 TEMA9/EMP.py create mode 100644 TEMA9/task.md diff --git a/TEMA9/EMP.py b/TEMA9/EMP.py new file mode 100644 index 0000000..559eb65 --- /dev/null +++ b/TEMA9/EMP.py @@ -0,0 +1,30 @@ +class Employee: + def __init__(self, fio, otdel, dolzhnost, oklad): + self.fio = fio + self.otdel = otdel + self.dolzhnost = dolzhnost + self.oklad = oklad + self.bonus = [] + + def give_raise(self, amount): + print(f'Оклад повышен на {amount} рублей, новый оклад: {self.oklad + amount}') + self.oklad = self.oklad + amount + + def transfer(self, new_otdel): + self.otdel = new_otdel + + def position(self, new_position): + self.dolzhnost = new_position + + def give_bonus(self, bonus): + self.bonus.append(bonus) + + def read_bonus(self): + return self.bonus + + def remove_bonus(self): + if len(self.bonus) != 0: + return self.bonus.pop() + return None + + svojstvo = property(read_bonus, give_bonus, remove_bonus) diff --git a/TEMA9/task.md b/TEMA9/task.md new file mode 100644 index 0000000..ae342c7 --- /dev/null +++ b/TEMA9/task.md @@ -0,0 +1,69 @@ +# Общее контрольное задание по теме 9 + +Мамакин Ярослав, А-02-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.bonus = [] + + def give_raise(self, amount): + print(f'Оклад повышен на {amount} рублей, новый оклад: {self.oklad + amount}') + self.oklad = self.oklad + amount + + def transfer(self, new_otdel): + self.otdel = new_otdel + + def position(self, new_position): + self.dolzhnost = new_position + + def give_bonus(self, bonus): + self.bonus.append(bonus) + + def read_bonus(self): + return self.bonus + + def remove_bonus(self): + if len(self.bonus) != 0: + return self.bonus.pop() + return None + + svojstvo = property(read_bonus, give_bonus, remove_bonus) +``` + +Проверка работы: + +```py +>>> import EMP +>>> de = EMP.Employee('Дерипаска Олег Владимирович', 'Маркетинг', 'Аналитик', 130000) +>>> ya = EMP.Employee('Мамакин Ярослав Романович', 'Производственный', 'Арбузолитейщик', 131000) +>>> ya.dolzhnost +'Арбузолитейщик' +>>> de.svojstvo = 'Премного благодарны' +>>> de.svojstvo = 'Вы лучший' +>>> de.svojstvo +['Премного благодарны', 'Вы лучший'] +>>> de.transfer('Клининговый') +>>> de.otdel +'Клининговый' +>>> ya.give_raise(70000) +``` +