форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
3.5 KiB
3.5 KiB
Общее контрольное задание по теме 9
Махнов Георгий, А-01-23
Задание
Создайте и запишите в модуль класс, содержащий следующие компоненты:
- конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
- метод для обеспечения операции повышения оклада сотрудника на заданное значение;
- метод для обеспечения перевода сотрудника из одного отдела в другой;
- метод для изменения должности сотрудника;
- свойство, содержащее перечень (список) поощрений сотрудника. Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобра-зите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.
Выполнение
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
Глава кафедры
['Лучший результат в сфере обучения студентов по кафедре']