форкнуто от main/python-labs
main
Родитель
914f5bc920
Сommit
35322e8142
@ -0,0 +1,76 @@
|
||||
# Общее контрольное задание по Теме 9
|
||||
Таболин Иван, А-01-23
|
||||
## Задание
|
||||
Создайте и запишите в модуль класс, содержащий следующие компоненты:
|
||||
- конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамиилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
|
||||
- метод для обеспечения операции повышения оклада сотрудника на заданное значение;
|
||||
- метод для обеспечения перевода сотрудника из одного отдела в другой;
|
||||
- метод для изменения должности сотрудника;
|
||||
- свойство, содержащее перечень (список) поощрений сотрудника.
|
||||
Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.
|
||||
## Решение
|
||||
```py
|
||||
class Workers:
|
||||
def __init__(self,fio='',otdel='',dolznost='',oklad=0):
|
||||
self.fio=fio
|
||||
self.otdel=otdel
|
||||
self.dolznost=dolznost
|
||||
self.oklad=oklad
|
||||
self.__poos=[]
|
||||
|
||||
def pov_oklad(self,uvel):
|
||||
self.oklad+=uvel
|
||||
print('Сотрудник', self.fio, 'теперь имеет оклад', self.oklad)
|
||||
return self.oklad
|
||||
|
||||
def perevod(self,new_otdel):
|
||||
self.otdel=new_otdel
|
||||
print('Сотрудник', self.fio, 'переведен в отдел', self.otdel)
|
||||
return self.otdel
|
||||
|
||||
def new_dolznost(self,new_dolzn):
|
||||
self.dolznost=new_dolzn
|
||||
print('Сотрудник', self.fio, 'переведен на должность', self.dolznost)
|
||||
return self.dolznost
|
||||
|
||||
def view_poos(self):
|
||||
print('Поощрения сотрудника', self.fio)
|
||||
print(self.__poos)
|
||||
return self.__poos
|
||||
|
||||
def add_poos(self, new_poos):
|
||||
self.__poos.append(new_poos)
|
||||
```
|
||||
Тестирование
|
||||
```py
|
||||
worker1=Workers('TabolinIA','IVTI','bakalavr_3',2400)
|
||||
worker2=Workers('BerezhkovDA','IVTI','bakalavr_3',2400)
|
||||
|
||||
print('ФИО:', worker1.fio,'\n', 'Должность:',worker1.dolznost,'\n', 'Институт:', worker1.otdel,'\n', 'Оклад (стипендия):', worker1.oklad)
|
||||
ФИО: TabolinIA
|
||||
Должность: bakalavr_3
|
||||
Институт: IVTI
|
||||
Оклад (стипендия): 2400
|
||||
|
||||
worker1.new_dolznost('bakalavr_4')
|
||||
Сотрудник TabolinIA переведен на должность bakalavr_4
|
||||
'bakalavr_4'
|
||||
print('ФИО:', worker1.fio,'\n', 'Должность:',worker1.dolznost,'\n', 'Институт:', worker1.otdel,'\n', 'Оклад (стипендия):', worker1.oklad)
|
||||
ФИО: TabolinIA
|
||||
Должность: bakalavr_4
|
||||
Институт: IVTI
|
||||
Оклад (стипендия): 2400
|
||||
|
||||
worker2.perevod('GPI')
|
||||
Сотрудник BerezhkovDA переведен в отдел GPI
|
||||
'GPI'
|
||||
worker2.pov_oklad(worker2.oklad*2)
|
||||
Сотрудник BerezhkovDA теперь имеет оклад 7200
|
||||
7200
|
||||
|
||||
print('ФИО:', worker2.fio,'\n', 'Должность:',worker2.dolznost,'\n', 'Институт:', worker2.otdel,'\n', 'Оклад (стипендия):', worker2.oklad)
|
||||
ФИО: BerezhkovDA
|
||||
Должность: bakalavr_3
|
||||
Институт: GPI
|
||||
Оклад (стипендия): 7200
|
||||
```
|
||||
Загрузка…
Ссылка в новой задаче