форкнуто от main/python-labs
main
Родитель
bcc4717648
Сommit
266a065310
@ -0,0 +1,26 @@
|
|||||||
|
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(20000)
|
||||||
|
sot1.department('Кафедра Математического и компьютерного моделирования')
|
||||||
|
sot1.position('Старший преподаватель')
|
||||||
|
sot2.add_pooshrenia('За преданность делу')
|
||||||
|
sot1.add_pooshrenia('За создание позитивной атмосферы')
|
||||||
|
|
||||||
|
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(self,summa):
|
||||||
|
if summa > 0:
|
||||||
|
self.oklad += summa
|
||||||
|
print(f"Оклад сотрудника {self.fio} увеличен на {summa}. Новый оклад: {self.oklad}")
|
||||||
|
else:
|
||||||
|
print("Сумма для повышения оклада должна быть больше нуля.")
|
||||||
|
|
||||||
|
def department(self,new_department):
|
||||||
|
print(f"Сотрудник {self.fio} переведен из отдела {self.otdel} в отдел {new_department}.")
|
||||||
|
self.otdel = new_department
|
||||||
|
|
||||||
|
def 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_pooshrenia(self,tekst):
|
||||||
|
self._pooshrenia.append(tekst)
|
||||||
|
print(f"Сотрудник {self.fio} теперь имеет поощрение: {tekst}")
|
||||||
@ -0,0 +1,107 @@
|
|||||||
|
# Общее контрольное задание по теме 9
|
||||||
|
|
||||||
|
Лыкова Елизавета, А-01-23
|
||||||
|
|
||||||
|
# Задание:
|
||||||
|
|
||||||
|
Создайте и запишите в модуль класс, содержащий следующие компоненты:
|
||||||
|
- конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
|
||||||
|
- метод для обеспечения операции повышения оклада сотрудника на заданное значение;
|
||||||
|
- метод для обеспечения перевода сотрудника из одного отдела в другой;
|
||||||
|
- метод для изменения должности сотрудника;
|
||||||
|
- свойство, содержащее перечень (список) поощрений сотрудника.
|
||||||
|
Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.
|
||||||
|
|
||||||
|
# Решение
|
||||||
|
|
||||||
|
```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(self,summa):
|
||||||
|
if summa > 0:
|
||||||
|
self.oklad += summa
|
||||||
|
print(f"Оклад сотрудника {self.fio} увеличен на {summa}. Новый оклад: {self.oklad}")
|
||||||
|
else:
|
||||||
|
print("Сумма для повышения оклада должна быть больше нуля.")
|
||||||
|
|
||||||
|
def department(self,new_department):
|
||||||
|
print(f"Сотрудник {self.fio} переведен из отдела {self.otdel} в отдел {new_department}.")
|
||||||
|
self.otdel = new_department
|
||||||
|
|
||||||
|
def 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_pooshrenia(self,tekst):
|
||||||
|
self._pooshrenia.append(tekst)
|
||||||
|
print(f"Сотрудник {self.fio} теперь имеет поощрение: {tekst}")
|
||||||
|
```
|
||||||
|
|
||||||
|
Модуль sotrudniki
|
||||||
|
|
||||||
|
```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(20000)
|
||||||
|
sot1.department('Кафедра Математического и компьютерного моделирования')
|
||||||
|
sot1.position('Старший преподаватель')
|
||||||
|
sot2.add_pooshrenia('За преданность делу')
|
||||||
|
sot1.add_pooshrenia('За создание позитивной атмосферы')
|
||||||
|
|
||||||
|
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}")
|
||||||
|
```
|
||||||
|
|
||||||
|
Модуль main
|
||||||
|
|
||||||
|
```py
|
||||||
|
import os
|
||||||
|
os.chdir('C:\\Users\\Home\\Desktop\\python-labs\\TEMA9')
|
||||||
|
import main
|
||||||
|
=== НАЧАЛЬНЫЕ ДАННЫЕ ===
|
||||||
|
Пронин А.Д, Кафедра Управления и информационных технологий, Ассистент, оклад: 60000
|
||||||
|
Бирюков А.М., Кафедра Математического и компьютерного моделирования, Доцент, оклад: 75000
|
||||||
|
|
||||||
|
=== ОПЕРАЦИИ С СОТРУДНИКАМИ ===
|
||||||
|
Оклад сотрудника Бирюков А.М. увеличен на 20000. Новый оклад: 95000
|
||||||
|
Сотрудник Пронин А.Д переведен из отдела Кафедра Управления и информационных технологий в отдел Кафедра Математического и компьютерного моделирования.
|
||||||
|
Должность сотрудника Пронин А.Д изменена с Ассистент на Старший преподаватель.
|
||||||
|
Сотрудник Бирюков А.М. теперь имеет поощрение: За преданность делу
|
||||||
|
Сотрудник Пронин А.Д теперь имеет поощрение: За создание позитивной атмосферы
|
||||||
|
|
||||||
|
=== ИТОГОВЫЕ ДАННЫЕ ===
|
||||||
|
Пронин А.Д, Кафедра Математического и компьютерного моделирования, Старший преподаватель, оклад: 60000
|
||||||
|
Бирюков А.М., Кафедра Математического и компьютерного моделирования, Доцент, оклад: 95000
|
||||||
|
|
||||||
|
=== ПЕРЕЧЕНЬ ПООЩРЕНИЙ ===
|
||||||
|
Поощрения Пронин А.Д: ['За создание позитивной атмосферы']
|
||||||
|
Поощрения Бирюков А.М.: ['За преданность делу']
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Загрузка…
Ссылка в новой задаче