Я пытаюсь сделать домашнее задание по объектно-ориентированному программированию, но получаю странную ошибку
пробовал перезапустить vscode или изменить имена
Цель: разработать систему управления сотрудниками система, демонстрирующая множественное наследование, инкапсуляцию и полиморфизм в Python. Система должна управлять различными видами деятельности, в том числе менеджерами и техническими специалистами, и предоставлять возможности для расширения и добавления новых ролей.
PS C:\Users\EvoTechPC> & C:/Users/EvoTechPC/AppData/Local/Microsoft/WindowsApps/python3.11.exe c:/Users/EvoTechPC/Desktop/учеба/ввит/lab7/Main.py
Traceback (most recent call last):
File "c:\Users\EvoTechPC\Desktop\учеба\ввит\lab7\Main.py", line 41, in
techManager1 = TechManager("Андрей", 4, "ит", "ии")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Users\EvoTechPC\Desktop\учеба\ввит\lab7\Main.py", line 27, in __init__
Manager.__init__(self, name, id, department) # Инициализация Manager с нужными аргументами
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Users\EvoTechPC\Desktop\учеба\ввит\lab7\Main.py", line 11, in __init__
super().__init__(name, id)
TypeError: Technician.__init__() missing 1 required positional argument: 'specialization'
Задача:
Создать класс «Сотрудник» с общими атрибутами, такими как имя (имя), идентификатор ( идентификационный номер) и такие методы, как get_info(), которые возвращают базовую информацию о сотруднике.
Создайте класс Manager с традиционными атрибутами, такими как отдел ( отдел) и такие методы, как Manage_project(), которые символизируют управление проектами.
Создайте класс Technician с учетом таких атрибутов, как специализация (специализация) и таких методов, как Perform_maintenance(), которые означают выполнение обслуживания.
Создайте класс TechManager, который станет не только техническим специалистом, но и менеджером. Этот класс должен сочетать в себе навыки управления и технические навыки, например, иметь методы для управления проектами и выполнения обслуживания.
Добавьте метод add_employee(), который позволяет администратору TechManager составлять список подчиненных.
Реализуйте метод get_team_info(), который отображает информацию обо всех подчиненных сотрудниках.
Я пытаюсь сделать домашнее задание по объектно-ориентированному программированию, но получаю странную ошибку пробовал перезапустить vscode или изменить имена Цель: разработать систему управления сотрудниками система, демонстрирующая множественное наследование, инкапсуляцию и полиморфизм в Python. Система должна управлять различными видами деятельности, в том числе менеджерами и техническими специалистами, и предоставлять возможности для расширения и добавления новых ролей. [code]class Employee: #parent class def __init__(self, name, id): self.name = name self.id = id
class Manager(Employee): def __init__(self, name, id, department): super().__init__(name, id) self.department = department
def get_team_info(self): subordinates_info = [employee.get_info() for employee in self.team] print(f"Список подчиненных:\n" + "\n".join(subordinates_info))
employee1 = Employee("Сергей", 1) manager1 = Manager("Денис", 2, "ит") technician1 = Technician("Петр", 3, "ии") techManager1 = TechManager("Андрей", 4, "ит", "ии") [/code] Я получаю это сообщение об ошибке [code]PS C:\Users\EvoTechPC> & C:/Users/EvoTechPC/AppData/Local/Microsoft/WindowsApps/python3.11.exe c:/Users/EvoTechPC/Desktop/учеба/ввит/lab7/Main.py Traceback (most recent call last): File "c:\Users\EvoTechPC\Desktop\учеба\ввит\lab7\Main.py", line 41, in techManager1 = TechManager("Андрей", 4, "ит", "ии") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:\Users\EvoTechPC\Desktop\учеба\ввит\lab7\Main.py", line 27, in __init__ Manager.__init__(self, name, id, department) # Инициализация Manager с нужными аргументами ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:\Users\EvoTechPC\Desktop\учеба\ввит\lab7\Main.py", line 11, in __init__ super().__init__(name, id) TypeError: Technician.__init__() missing 1 required positional argument: 'specialization' [/code] Задача: [list] [*]Создать класс «Сотрудник» с общими атрибутами, такими как имя (имя), идентификатор ( идентификационный номер) и такие методы, как get_info(), которые возвращают базовую информацию о сотруднике.
[*]Создайте класс Manager с традиционными атрибутами, такими как отдел ( отдел) и такие методы, как Manage_project(), которые символизируют управление проектами.
[*]Создайте класс Technician с учетом таких атрибутов, как специализация (специализация) и таких методов, как Perform_maintenance(), которые означают выполнение обслуживания.
Создайте класс TechManager, который станет не только техническим специалистом, но и менеджером. Этот класс должен сочетать в себе навыки управления и технические навыки, например, иметь методы для управления проектами и выполнения обслуживания.
[*]Добавьте метод add_employee(), который позволяет администратору TechManager составлять список подчиненных.
[*]Реализуйте метод get_team_info(), который отображает информацию обо всех подчиненных сотрудниках.
[/list] Если кто сможет помогите, буду очень благодарен