Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

74 строки
4.3 KiB
Markdown

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

# Общее контрольное задание по теме 9
## Бушманов А.С. А-01-23
## Задание:
Создайте и запишите в модуль класс, содержащий следующие компоненты:
- конструктор, задающий четырем атрибутам (fio,otdel,dolzhnost,oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов,  некоторые начальные значения;
- метод для обеспечения операции повышения оклада сотрудника на заданное значение;
- метод для обеспечения перевода сотрудника из одного отдела в другой;
- метод для изменения должности сотрудника;
- свойство, содержащее перечень (список) поощрений сотрудника.
Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.
## Решение:
```python
class Employee:
def __init__(self, fio="", otdel="", dolzhnost="", oklad=0):
self.fio = fio
self.otdel = otdel
self.dolzhnost = dolzhnost
self.oklad = oklad
self._pooshreniya = [] # список поощрений
def info(self):
print(f"{self.fio}, {self.otdel}, {self.dolzhnost}, оклад: {self.oklad}")
def povyshenie_oklada(self, summa):
self.oklad += summa
def perevod(self, new_otdel):
self.otdel = new_otdel
def smena_dolzhnosti(self, new_dolzhnost):
self.dolzhnost = new_dolzhnost
# property: только чтение списка поощрений
@property
def pooshreniya(self):
return self._pooshreniya
# добавить поощрение
def add_pooshrenie(self, text):
self._pooshreniya.append(text)
# удалить поощрение
def del_pooshrenie(self, text):
if text in self._pooshreniya:
self._pooshreniya.remove(text)
```
## Ответ:
```python
>>> emp_1 = Employee("Обычайко Д.С.", "Кафедра Управления и информационных технологий", "Ассистент", 100000)
>>> emp_2 = Employee("Бобряков А.В.", "Кафедра Управления и ИТ", "Заведующий кафедрой", 1500000)
>>> emp_1.info()
Обычайко Д.С., Кафедра Управления и информационных технологий, Ассистент, оклад: 100000
>>> emp_2.info()
Бобряков А.В., Кафедра Управления и ИТ, Заведующий кафедрой, оклад: 1500000
>>> emp_1.povyshenie_oklada(15000)
>>> emp_1.add_pooshrenie("Премия за научную работу")
>>> emp_2.smena_dolzhnosti("Декан факультета")
>>> emp_2.perevod("Деканат")
>>> emp_2.add_pooshrenie("Надбавка за руководство")
>>> print("Поощрения", emp_1.fio, ":", emp_1.pooshreniya)
Поощрения Обычайко Д.С. : ['Премия за научную работу']
>>> print("Поощрения", emp_2.fio, ":", emp_2.pooshreniya)
Поощрения Бобряков А.В. : ['Надбавка за руководство']
>>> emp_1.del_pooshrenie("Премия за научную работу")
>>> print("После удаления поощрения у", emp_1.fio, ":", emp_1.pooshreniya)
После удаления поощрения у Обычайко Д.С. : []
>>> emp_1.info()
Обычайко Д.С., Кафедра Управления и информационных технологий, Ассистент, оклад: 115000
>>> emp_2.info()
Бобряков А.В., Деканат, Декан факультета, оклад: 1500000
```