форкнуто от 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
|
||||
|
||||
=== ПЕРЕЧЕНЬ ПООЩРЕНИЙ ===
|
||||
Поощрения Пронин А.Д: ['За создание позитивной атмосферы']
|
||||
Поощрения Бирюков А.М.: ['За преданность делу']
|
||||
```
|
||||
|
||||
Загрузка…
Ссылка в новой задаче