форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
50 строки
1.6 KiB
Python
50 строки
1.6 KiB
Python
class Employee:
|
|
def __init__(self, fio="null", otdel = "null", dolz = "null", oklad = 0):
|
|
self.fio = fio
|
|
self.otdel = otdel
|
|
self.dolz = dolz
|
|
self.oklad = oklad
|
|
self.__bonus = []
|
|
|
|
def increase_oklad(self,summa):
|
|
self.oklad += summa
|
|
print(f'Оклад {self.fio} был повышен на {summa}, новый оклад равен {self.oklad}')
|
|
|
|
def move_otdel(self,new_otdel):
|
|
old_otdel = self.otdel
|
|
self.otdel = new_otdel
|
|
|
|
print(f'Сотрудник {self.fio} был переведен из {old_otdel} в {new_otdel}')
|
|
|
|
def change_dolz(self,new_dolz):
|
|
old_dolz = self.dolz
|
|
self.dolz = new_dolz
|
|
|
|
print(f'Должность сотрудника {self.fio} была изменена с {old_dolz} на {new_dolz}')
|
|
|
|
def give_bonus(self,bonus):
|
|
self.__bonus.append(bonus)
|
|
print(f'Сотруднику {self.fio} была выражена благодарность: {bonus}')
|
|
|
|
@property
|
|
def bonuses(self):
|
|
return self.__bonus.copy()
|
|
|
|
def info_out(self):
|
|
print('Информация о сотруднике:')
|
|
print(f'\n ФИО: {self.fio}')
|
|
print(f'\n Отдел: {self.otdel}')
|
|
print(f'\n Должность: {self.dolz}')
|
|
print(f'\n Оклад: {self.oklad:.2f}')
|
|
|
|
if self.__bonus:
|
|
print('Поощрения: ')
|
|
for i, poosh in enumerate(self.__bonus, 1):
|
|
print(f" {i}. {poosh}")
|
|
|
|
else:
|
|
print('no bonuses')
|
|
|
|
|
|
|