форкнуто от main/python-labs
main
Родитель
0bb5224e01
Сommit
c5bca092a1
@ -0,0 +1,65 @@
|
||||
|
||||
Создать и записать в модуль класс, содержащий следующие компоненты:
|
||||
конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
|
||||
метод для обеспечения операции повышения оклада сотрудника на заданное значение;
|
||||
метод для обеспечения перевода сотрудника из одного отдела в другой;
|
||||
метод для изменения должности сотрудника;
|
||||
свойство, содержащее перечень (список) поощрений сотрудника.
|
||||
Создать 2 экземпляра класса, задать им некоторые значения атрибутов и свойства. Отобразить эти значения. Попробовать с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.
|
||||
|
||||
Решение
|
||||
```py
|
||||
>>> class Employee:
|
||||
... def __init__(self, fio="", otdel="", dolzhnost="", oklad=0):
|
||||
... self.fio = fio
|
||||
... self.otdel = otdel
|
||||
... self.dolzhnost = dolzhnost
|
||||
... self.oklad = oklad
|
||||
... self._pooshchreniya = [] # исправлено на единое имя
|
||||
...
|
||||
... def povyshenie_oklad(self, summa):
|
||||
... if summa > 0:
|
||||
... self.oklad += summa
|
||||
... return self.oklad
|
||||
... else:
|
||||
... print("Сумма для повышения оклада должна быть больше нуля.")
|
||||
...
|
||||
... def perevod(self, new_otdel):
|
||||
... self.otdel = new_otdel
|
||||
... return self.otdel
|
||||
...
|
||||
... def cmena_dolzhnosty(self, new_dolzhnost):
|
||||
... self.dolzhnost = new_dolzhnost
|
||||
... return self.dolzhnost
|
||||
...
|
||||
... @property
|
||||
... def pooshchrenia(self):
|
||||
... return self._pooshchreniya # исправлено на единое имя
|
||||
...
|
||||
... def add_pooshchrenie(self, pooshchrenie):
|
||||
... self._pooshchreniya.append(pooshchrenie) # исправлено на единое имя
|
||||
... print(f"Сотрудник {self.fio} теперь имеет поощрение: {pooshchrenie}")
|
||||
...
|
||||
...
|
||||
>>> emp_1=Employee ("Толчеев В.О.", "Кафедра Управления и информационных технологий", "Профессор", 150000)
|
||||
>>> emp_2=Employee ("Бобряков А.В.", "Кафедра Управления и информационных технологий", "Заведующий кафедрой", 1000000)
|
||||
>>> print(f"{emp_1.fio}, {emp_1.otdel}, {emp_1.dolzhnost}, оклад: {emp_1.oklad}")
|
||||
Толчеев В.О., Кафедра Управления и информационных технологий, Профессор, оклад: 150000
|
||||
>>> print(f"{emp_2.fio}, {emp_2.otdel}, {emp_2.dolzhnost}, оклад: {emp_2.oklad}")
|
||||
Бобряков А.В., Кафедра Управления и информационных технологий, Заведующий кафедрой, оклад: 1000000
|
||||
>>> emp_2.perevod("МТУСИ")
|
||||
'МТУСИ'
|
||||
>>> emp_2.povyshenie_oklad(10000)
|
||||
1010000
|
||||
>>> emp_1.cmena_dolzhnosty("Заведующий кафедрой")
|
||||
'Заведующий кафедрой'
|
||||
>>> emp_2.add_pooshchrenie("Выслуга лет")
|
||||
Сотрудник Бобряков А.В. теперь имеет поощрение: Выслуга лет
|
||||
>>> emp_1.add_pooshchrenie("Лучший проект")
|
||||
Сотрудник Толчеев В.О. теперь имеет поощрение: Лучший проект
|
||||
>>> print(f"Поощрения {emp_1.fio}: {emp_1.pooshchrenia}")
|
||||
Поощрения Толчеев В.О.: ['Лучший проект']
|
||||
>>> print(f"Поощрения {emp_2.fio}: {emp_2.pooshchrenia}")
|
||||
Поощрения Бобряков А.В.: ['Выслуга лет']
|
||||
|
||||
```
|
||||
Загрузка…
Ссылка в новой задаче