TypeError: Technical .__ init __ () отсутствует 1 требуемый позиционный аргумент: «Специализация»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 TypeError: Technical .__ init __ () отсутствует 1 требуемый позиционный аргумент: «Специализация»

Сообщение Anonymous »

Я пытаюсь сделать свою домашнюю работу по объектно-ориентированному программированию, но я получаю странную ошибку.
Пробовал перезагрузить VSCODE или изменение имен. Система управления сотрудниками, которая демонстрирует множественное наследование, инкапсуляцию и полиморфизм в Python. Система должна управлять различными видами деятельности, включая менеджеров и технических специалистов, а также предоставлять возможности для расширения и добавления новых ролей. < /P>

Код: Выделить всё

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

class Technician(Employee):
def __init__(self, name, id, specialization):
super().__init__(name, id)
self.specialization = specialization

class TechManager(Manager, Technician):
def __init__(self, name, id, department, specialization):
Manager.__init__(self, name, id, department)
Technician.__init__(self, name, id, specialization)
self.subordinates = []

def add_employee(self, employee):
self.subordinates.append(employee)

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>
Я получаю это сообщение об ошибке: < /p>
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'
задача:
  • Создать класс сотрудников с общими атрибутами, такими как имя (Имя), ID (идентификационный номер) и такие методы, как get_info () , которые возвращают основную информацию о сотруднике.
  • Создать класс Manager с традиционными атрибутами, такими как отдел (отдел) и методы, такие как Manage_project () , которые символизируют управляющие проекты.
    < /li>
    Создать класс Technician по отношению к таким атрибутам, как специализация (специализация), и такие методы, как exact_maintion () , которые означают выполнение технического обслуживания. /p>
    < /li>
    Создайте класс Techmanager < /code>, который становится менеджером, а также техником. Этот класс должен сочетать навыки управления и технические навыки, например, иметь методы управления проектами и выполнения обслуживания. Код> Метод, который позволяет администратору TechManager перечислять подчиненные. Информация обо всех подчиненных сотрудниках.
Если кто -то может мне помочь, я был бы очень благодарен

Подробнее здесь: https://stackoverflow.com/questions/792 ... ent-specia
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»