From 266a065310c21991c9138b020486dabc3563716c Mon Sep 17 00:00:00 2001 From: Lykova Liza Date: Fri, 19 Dec 2025 09:52:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=9A=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA9/main.py | 26 +++++++++++ TEMA9/sotrudniki.py | 30 +++++++++++++ TEMA9/task.md | 107 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 163 insertions(+) create mode 100644 TEMA9/main.py create mode 100644 TEMA9/sotrudniki.py create mode 100644 TEMA9/task.md diff --git a/TEMA9/main.py b/TEMA9/main.py new file mode 100644 index 0000000..80f2a8f --- /dev/null +++ b/TEMA9/main.py @@ -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}") diff --git a/TEMA9/sotrudniki.py b/TEMA9/sotrudniki.py new file mode 100644 index 0000000..b55c1aa --- /dev/null +++ b/TEMA9/sotrudniki.py @@ -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}") diff --git a/TEMA9/task.md b/TEMA9/task.md new file mode 100644 index 0000000..ad768f0 --- /dev/null +++ b/TEMA9/task.md @@ -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 + +=== ПЕРЕЧЕНЬ ПООЩРЕНИЙ === +Поощрения Пронин А.Д: ['За создание позитивной атмосферы'] +Поощрения Бирюков А.М.: ['За преданность делу'] +``` + +