|
|
# Общее контрольное задание по теме 9
|
|
|
|
|
|
Махнов Георгий, А-01-23
|
|
|
|
|
|
## Задание
|
|
|
|
|
|
Создайте и запишите в модуль класс, содержащий следующие компоненты:
|
|
|
- конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
|
|
|
- метод для обеспечения операции повышения оклада сотрудника на заданное значение;
|
|
|
- метод для обеспечения перевода сотрудника из одного отдела в другой;
|
|
|
- метод для изменения должности сотрудника;
|
|
|
- свойство, содержащее перечень (список) поощрений сотрудника.
|
|
|
Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобра-зите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.
|
|
|
|
|
|
## Выполнение
|
|
|
|
|
|
```py
|
|
|
|
|
|
class Workposition:
|
|
|
def __init__(self, fio = "Иванов И.И.", otdel = "Моделирование", dolznost = "Младший помощник", oklad = 20000):
|
|
|
self.fio = fio
|
|
|
self.otdel = otdel
|
|
|
self.dolznost = dolznost
|
|
|
self.oklad = oklad
|
|
|
self.__rewards = []
|
|
|
|
|
|
def raise_money(self, amount_on = int):
|
|
|
if amount_on > 0:
|
|
|
print("YAY")
|
|
|
self.oklad += amount_on
|
|
|
else:
|
|
|
print("Сумма увеличения должна быть больше 0!")
|
|
|
def position_place(self, new_place = str):
|
|
|
self.otdel = new_place
|
|
|
|
|
|
def position_post(self, new_post = str):
|
|
|
self.dolznost = new_post
|
|
|
|
|
|
|
|
|
@property
|
|
|
def reward(self):
|
|
|
return self.__rewards
|
|
|
|
|
|
def get_reward(self, get_reward=str):
|
|
|
self.__rewards.append(f"Поощрение сотрудника: {get_reward}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
employee1 = Workposition("Толчеев В.О.", "Кафедра Управления и информационных технологий", "Профессор", 120000)
|
|
|
|
|
|
employee2 = Workposition("Бобряков А.В.", "Кафедра Управления и информационных технологий", "Заведующий кафедрой", 150000)
|
|
|
|
|
|
print(employee1.fio, employee2.fio)
|
|
|
|
|
|
employee2.position_place("МГТУ")
|
|
|
print(employee2.otdel)
|
|
|
|
|
|
print(f"До повышения: {employee1.oklad}")
|
|
|
employee1.raise_money(20000)
|
|
|
print(f"После повышения: {employee1.oklad}")
|
|
|
|
|
|
employee2.position_post("Глава кафедры")
|
|
|
print(employee2.dolznost)
|
|
|
|
|
|
|
|
|
|
|
|
employee2.get_reward("Лучший результат в сфере обучения студентов по кафедре")
|
|
|
print(employee2.reward)
|
|
|
|
|
|
|
|
|
>>>Толчеев В.О. Бобряков А.В.
|
|
|
МГТУ
|
|
|
До повышения: 150000
|
|
|
YAY
|
|
|
После повышения: 170000
|
|
|
Глава кафедры
|
|
|
['Лучший результат в сфере обучения студентов по кафедре']
|
|
|
``` |