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

89 строки
4.7 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 staff:
  def init(self, fio, otdel, dolzhnost, oklad):
  self.fio = fio
  self.otdel = otdel
  self.dolzhnost = dolzhnost
  self.oklad = oklad
  self.pooshrenia = []
  def salary_raise(self, summa):
  if summa > 0:
  self.oklad += summa
  print(f"Оклад сотрудника {self.fio} увеличен на {summa}. Новый оклад: {self.oklad}")
  else:
  print("Сумма для повышения оклада должна быть больше нуля.")
  def change_department(self, new_department):
  print(f"Сотрудник {self.fio} переведен из отдела {self.otdel} в отдел {new_department}.")
  self.otdel = new_department
  def change_position(self, new_position):
  print(f"Должность сотрудника {self.fio} изменена с {self.dolzhnost} на {new_position}.")
  self.dolzhnost = new_position
  def pooshrenia(self):
  return self._pooshrenia
  def add_encouragement(self, tekst):
  self._pooshrenia.append(tekst)
  print(f"Сотрудник {self.fio} теперь имеет поощрение: {tekst}")
emp1 = staff("Сидорова Е.Ю.", "Кафедра Управления и информационных технологий", "Старший преподаватель", 75000)
emp2 = staff("Иваненко К.А.", "Дирекция ИВТИ", "Заместитель директора института", 200000)
print(f"{emp1.fio}, {emp1.otdel}, {emp1.dolzhnost}, оклад: {emp1.oklad}")
print(f"{emp2.fio}, {emp2.otdel}, {emp2.dolzhnost}, оклад: {emp2.oklad}")
emp1.salary_raise(20000)
emp2.change_department("Дирекция ГПИ")
emp1.change_position("Заведующий кафедрой")
emp2.add_encouragement("За перевыпонение плана")
emp1.add_encouragement("За сложные КМ")
print(f"Поощрения {emp1.fio}: {emp1.pooshrenia}")
print(f"Поощрения {emp2.fio}: {emp2.pooshrenia}")
Сидорова Е.Ю., Кафедра Управления и информационных технологий, Старший преподаватель, оклад: 75000
Иваненко К.А., Дирекция ИВТИ, Заместитель директора института, оклад: 200000
Оклад сотрудника Сидорова Е.Ю. увеличен на 20000. Новый оклад: 95000
Сотрудник Иваненко К.А. переведен из отдела Дирекция ИВТИ в отдел Дирекция ГПИ.
Должность сотрудника Сидорова Е.Ю. изменена с Старший преподаватель на Заведующий кафедрой.
Сотрудник Иваненко К.А. теперь имеет поощрение: За преданность делу
Сотрудник Сидорова Е.Ю. теперь имеет поощрение: За красивые глазки
Поощрения Сидорова Е.Ю.: ['За сложные КМ']
Поощрения Иваненко К.А.: ['За перевыпонение плана']
```