ответвлено от main/python-labs
48 строки
1.6 KiB
Python
48 строки
1.6 KiB
Python
class Employee:
|
|
def __init__(self, fio, otdel, dolzhnost, oklad):
|
|
self.fio = fio
|
|
self.otdel = otdel
|
|
self.dolzhnost = dolzhnost
|
|
self.oklad = oklad
|
|
self._rewards = []
|
|
|
|
def raise_salary(self, amount):
|
|
self.oklad += amount
|
|
|
|
def change_department(self, new_otdel):
|
|
self.otdel = new_otdel
|
|
|
|
def change_position(self, new_dolzhnost):
|
|
self.dolzhnost = new_dolzhnost
|
|
|
|
def add_reward(self, reward):
|
|
self._rewards.append(reward)
|
|
|
|
def get_rewards(self):
|
|
return self._rewards
|
|
|
|
rewards = property(get_rewards, None, None)
|
|
|
|
emp1 = Employee("Иванов И.И.", "Отдел разработки", "Инженер", 50000)
|
|
emp2 = Employee("Петров П.П.", "Отдел тестирования", "Тестировщик", 45000)
|
|
|
|
print("Исходные данные:")
|
|
print(f"{emp1.fio}, {emp1.otdel}, {emp1.dolzhnost}, {emp1.oklad}")
|
|
print(f"{emp2.fio}, {emp2.otdel}, {emp2.dolzhnost}, {emp2.oklad}")
|
|
|
|
emp1.raise_salary(10000)
|
|
emp1.change_department("Отдел тестирования")
|
|
emp1.change_position("Старший инженер")
|
|
emp1.add_reward("Благодарность за проект")
|
|
emp1.add_reward("Премия по итогам квартала")
|
|
|
|
emp2.raise_salary(5000)
|
|
emp2.change_department("Отдел разработки")
|
|
emp2.add_reward("Грамота")
|
|
|
|
print("\nПосле изменений:")
|
|
print(f"{emp1.fio}, {emp1.otdel}, {emp1.dolzhnost}, {emp1.oklad}")
|
|
print(f"Поощрения: {emp1.rewards}")
|
|
print(f"{emp2.fio}, {emp2.otdel}, {emp2.dolzhnost}, {emp2.oklad}")
|
|
print(f"Поощрения: {emp2.rewards}")
|