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