|
|
# Общее контрольное задание по теме 9
|
|
|
|
|
|
Ефремов Станислав, А-02-23
|
|
|
|
|
|
## Задание
|
|
|
|
|
|
Создайте и запишите в модуль класс, содержащий следующие компоненты:
|
|
|
- конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
|
|
|
|
|
|
- метод для обеспечения операции повышения оклада сотрудника на заданное значение;
|
|
|
|
|
|
- метод для обеспечения перевода сотрудника из одного отдела в другой;
|
|
|
|
|
|
- метод для изменения должности сотрудника;
|
|
|
|
|
|
- свойство, содержащее перечень (список) поощрений сотрудника.
|
|
|
|
|
|
Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобра-зите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.
|
|
|
|
|
|
## Решение
|
|
|
|
|
|
```py
|
|
|
|
|
|
class rabotyaga:
|
|
|
|
|
|
def __init__(self, fio="-", otdel="-",
|
|
|
dolzhnost="-", oklad=0):
|
|
|
|
|
|
self.fio = fio
|
|
|
self.otdel = otdel
|
|
|
self.dolzhnost = dolzhnost
|
|
|
self.oklad = oklad
|
|
|
|
|
|
self.__pooshreniya = []
|
|
|
|
|
|
def povysit_oklad(self, summa):
|
|
|
|
|
|
self.oklad += summa
|
|
|
print(f"Оклад сотрудника {self.fio} повышен до {self.oklad}")
|
|
|
|
|
|
def perevesti_otdel(self, noviy_otdel):
|
|
|
|
|
|
self.otdel = noviy_otdel
|
|
|
print(f"Сотрудник {self.fio} переведен в отдел '{noviy_otdel}'")
|
|
|
|
|
|
def izmenit_dolzhnost(self, novaya_dolzhnost):
|
|
|
|
|
|
self.dolzhnost = novaya_dolzhnost
|
|
|
print(f"Сотрудник {self.fio} переведен на должность '{novaya_dolzhnost}'")
|
|
|
|
|
|
def get_pooshreniya(self):
|
|
|
return self.__pooshreniya
|
|
|
|
|
|
def set_pooshreniya(self, value):
|
|
|
self.__pooshreniya.append(value)
|
|
|
print(f"Добавлено поощрение для {self.fio}: '{value}'")
|
|
|
|
|
|
|
|
|
|
|
|
pooshreniya = property(get_pooshreniya, set_pooshreniya)
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
### Результат
|
|
|
|
|
|
```py
|
|
|
sotrudnik_nomer_1 = rabotyaga('Жмышенко Валерий Альбертович', 'Отдел по енотам', 'Мойщик', 10000)
|
|
|
sotrudnik_nomer_2 = rabotyaga('Зубенко Михаил Петрович', 'Мафия', 'Босс', 20000000)
|
|
|
sotrudnik_nomer_2.fio
|
|
|
'Зубенко Михаил Петрович'
|
|
|
sotrudnik_nomer_1.fio
|
|
|
'Жмышенко Валерий Альбертович'
|
|
|
sotrudnik_nomer_1.otdel
|
|
|
'Отдел по енотам'
|
|
|
sotrudnik_nomer_2.dolzhnost
|
|
|
'Босс'
|
|
|
sotrudnik_nomer_1.povysit_oklad(1)
|
|
|
Оклад сотрудника Жмышенко Валерий Альбертович повышен до 10001
|
|
|
sotrudnik_nomer_1.oklad
|
|
|
10001
|
|
|
sotrudnik_nomer_2.perevesti_otdel('Отдел по борьбе с неправомерным оборотом денежных средства')
|
|
|
Сотрудник Зубенко Михаил Петрович переведен в отдел 'Отдел по борьбе с неправомерным оборотом денежных средства'
|
|
|
sotrudnik_nomer_1.izmenit_dolzhnost('Фоторедактор фотолуп')
|
|
|
Сотрудник Жмышенко Валерий Альбертович переведен на должность 'Фоторедактор фотолуп'
|
|
|
|
|
|
sotrudnik_nomer_1.pooshreniya = 'Део нексия на 54-ый день рождения'
|
|
|
Добавлено поощрение для Жмышенко Валерий Альбертович: 'Део нексия на 54-ый день рождения'
|
|
|
sotrudnik_nomer_1.pooshreniya
|
|
|
['Део нексия на 54-ый день рождения']
|
|
|
sotrudnik_nomer_1.pooshreniya = '1000 тенге'
|
|
|
Добавлено поощрение для Жмышенко Валерий Альбертович: '1000 тенге'
|
|
|
sotrudnik_nomer_1.pooshreniya
|
|
|
['Део нексия на 54-ый день рождения', '1000 тенге']
|
|
|
``` |