форкнуто от main/python-labs
Родитель
24a1e55c60
Сommit
ee06ba6d99
@ -0,0 +1,29 @@
|
|||||||
|
import os
|
||||||
|
os.chdir('D:\\POAS\\Hodyuk\\Tema9\\')
|
||||||
|
|
||||||
|
from Sotrudniki import Sotrudniki
|
||||||
|
|
||||||
|
sot1 = Sotrudniki("Пронин А.Д", "Кафедра Управления и информационных технологий", "Ассистент",60000)
|
||||||
|
sot2 = Sotrudniki("Бирюков А.М.", "Кафедра Математического и компьютерного моделирования", "Доцент", 75000)
|
||||||
|
|
||||||
|
|
||||||
|
print("=== НАЧАЛЬНЫЕ ДАННЫЕ ===")
|
||||||
|
print(f"{sot1.fio}, {sot1.otdel}, {sot1.dolzhnost}, оклад: {sot1.oklad}")
|
||||||
|
print(f"{sot2.fio}, {sot2.otdel}, {sot2.dolzhnost}, оклад: {sot2.oklad}")
|
||||||
|
|
||||||
|
print("\n=== ОПЕРАЦИИ С СОТРУДНИКАМИ ===")
|
||||||
|
|
||||||
|
sot2.salary_raise(20000)
|
||||||
|
sot1.change_department("Кафедра Математического и компьютерного моделирования")
|
||||||
|
sot1.change_position("Старший преподаватель")
|
||||||
|
sot2.add_pooshrenie("За преданность делу")
|
||||||
|
sot1.add_pooshrenie("За создание позитивной атмосферы")
|
||||||
|
|
||||||
|
print("\n=== ИТОГОВЫЕ ДАННЫЕ ===")
|
||||||
|
|
||||||
|
print(f"{sot1.fio}, {sot1.otdel}, {sot1.dolzhnost}, оклад: {sot1.oklad}")
|
||||||
|
print(f"{sot2.fio}, {sot2.otdel}, {sot2.dolzhnost}, оклад: {sot2.oklad}")
|
||||||
|
|
||||||
|
print("\n=== ПЕРЕЧЕНЬ ПООЩРЕНИЙ ===")
|
||||||
|
print(f"Поощрения {sot1.fio}: {sot1.pooshrenia}")
|
||||||
|
print(f"Поощрения {sot2.fio}: {sot2.pooshrenia}")
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
class Sotrudniki:
|
||||||
|
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
|
||||||
|
|
||||||
|
@property
|
||||||
|
def pooshrenia(self):
|
||||||
|
return self._pooshrenia
|
||||||
|
|
||||||
|
def add_pooshrenie(self, tekst):
|
||||||
|
self._pooshrenia.append(tekst)
|
||||||
|
print(f"Сотрудник {self.fio} теперь имеет поощрение: {tekst}")
|
||||||
@ -0,0 +1,100 @@
|
|||||||
|
# Общее контрольное задание по Теме 9
|
||||||
|
Ходюк Максим Романович А-01-23
|
||||||
|
## Задание
|
||||||
|
Создайте и запишите в модуль класс, содержащий следующие компоненты:
|
||||||
|
- конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
|
||||||
|
- метод для обеспечения операции повышения оклада сотрудника на заданное значение;
|
||||||
|
- метод для обеспечения перевода сотрудника из одного отдела в другой;
|
||||||
|
- метод для изменения должности сотрудника;
|
||||||
|
- свойство, содержащее перечень (список) поощрений сотрудника.
|
||||||
|
Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.
|
||||||
|
|
||||||
|
### Выполнение
|
||||||
|
Модуль с созданным необходимым классом [Sotrudniki.py](Sotrudniki.py):
|
||||||
|
```
|
||||||
|
class Sotrudniki:
|
||||||
|
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
|
||||||
|
|
||||||
|
@property
|
||||||
|
def pooshrenia(self):
|
||||||
|
return self._pooshrenia
|
||||||
|
|
||||||
|
def add_pooshrenie(self, tekst):
|
||||||
|
self._pooshrenia.append(tekst)
|
||||||
|
print(f"Сотрудник {self.fio} теперь имеет поощрение: {tekst}")
|
||||||
|
```
|
||||||
|
|
||||||
|
Модуль для выполнения необходимых операций с классом Sotrudniki: [Main.py](Main.py)
|
||||||
|
|
||||||
|
```
|
||||||
|
from Sotrudniki import Sotrudniki
|
||||||
|
|
||||||
|
sot1 = Sotrudniki("Пронин А.Д", "Кафедра Управления и информационных технологий", "Ассистент",60000)
|
||||||
|
sot2 = Sotrudniki("Бирюков А.М.", "Кафедра Математического и компьютерного моделирования", "Доцент", 75000)
|
||||||
|
|
||||||
|
|
||||||
|
print("=== НАЧАЛЬНЫЕ ДАННЫЕ ===")
|
||||||
|
print(f"{sot1.fio}, {sot1.otdel}, {sot1.dolzhnost}, оклад: {sot1.oklad}")
|
||||||
|
print(f"{sot2.fio}, {sot2.otdel}, {sot2.dolzhnost}, оклад: {sot2.oklad}")
|
||||||
|
|
||||||
|
print("\n=== ОПЕРАЦИИ С СОТРУДНИКАМИ ===")
|
||||||
|
|
||||||
|
sot2.salary_raise(20000)
|
||||||
|
sot1.change_department("Кафедра Математического и компьютерного моделирования")
|
||||||
|
sot1.change_position("Старший преподаватель")
|
||||||
|
sot2.add_pooshrenie("За преданность делу")
|
||||||
|
sot1.add_pooshrenie("За создание позитивной атмосферы")
|
||||||
|
|
||||||
|
print("\n=== ИТОГОВЫЕ ДАННЫЕ ===")
|
||||||
|
|
||||||
|
print(f"{sot1.fio}, {sot1.otdel}, {sot1.dolzhnost}, оклад: {sot1.oklad}")
|
||||||
|
print(f"{sot2.fio}, {sot2.otdel}, {sot2.dolzhnost}, оклад: {sot2.oklad}")
|
||||||
|
|
||||||
|
print("\n=== ПЕРЕЧЕНЬ ПООЩРЕНИЙ ===")
|
||||||
|
print(f"Поощрения {sot1.fio}: {sot1.pooshrenia}")
|
||||||
|
print(f"Поощрения {sot2.fio}: {sot2.pooshrenia}")
|
||||||
|
```
|
||||||
|
|
||||||
|
Вывод программы:
|
||||||
|
```
|
||||||
|
========================================================================= RESTART: D:\POAS\Hodyuk\Tema9\Main.py ========================================================================
|
||||||
|
=== НАЧАЛЬНЫЕ ДАННЫЕ ===
|
||||||
|
Пронин А.Д, Кафедра Управления и информационных технологий, Ассистент, оклад: 60000
|
||||||
|
Бирюков А.М., Кафедра Математического и компьютерного моделирования, Доцент, оклад: 75000
|
||||||
|
|
||||||
|
=== ОПЕРАЦИИ С СОТРУДНИКАМИ ===
|
||||||
|
Оклад сотрудника Бирюков А.М. увеличен на 20000. Новый оклад: 95000
|
||||||
|
Сотрудник Пронин А.Д переведен из отдела Кафедра Управления и информационных технологий в отдел Кафедра Математического и компьютерного моделирования.
|
||||||
|
Должность сотрудника Пронин А.Д изменена с Ассистент на Старший преподаватель.
|
||||||
|
Сотрудник Бирюков А.М. теперь имеет поощрение: За преданность делу
|
||||||
|
Сотрудник Пронин А.Д теперь имеет поощрение: За создание позитивной атмосферы
|
||||||
|
|
||||||
|
=== ИТОГОВЫЕ ДАННЫЕ ===
|
||||||
|
Пронин А.Д, Кафедра Математического и компьютерного моделирования, Старший преподаватель, оклад: 60000
|
||||||
|
Бирюков А.М., Кафедра Математического и компьютерного моделирования, Доцент, оклад: 95000
|
||||||
|
|
||||||
|
=== ПЕРЕЧЕНЬ ПООЩРЕНИЙ ===
|
||||||
|
Поощрения Пронин А.Д: ['За создание позитивной атмосферы']
|
||||||
|
Поощрения Бирюков А.М.: ['За преданность делу']
|
||||||
|
```
|
||||||
|
|
||||||
Загрузка…
Ссылка в новой задаче