• (Python) Добавить в код возможность перемещения работников из офиса в офис и проверку что один работник не записан в офисе 2 раза. class worker: def init(self,name,position): self.name=name self.position = position class office: def init(self,name): self.name = name self.workers=[] def add_worker(self,worker): self.workers.append(worker) def print_workers(self): print("Workers in", self.name) for worker in self.workers: print(worker.name,"-", worker.position) office1 = office("office1") office2 = office("office2") worker1=worker("John","manager") worker2=worker("Jane","developer") worker3=worker("Bob","designer") office1.add_worker(worker1) office1.add_worker(worker2) office2.add_worker(worker3) office1.print_workers()

Ответы 1

  • Для добавления возможности перемещения работников из офиса в офис и проверки того, чтобы один и тот же работник не записывался в офисе дважды, вы можете внести следующие изменения в ваш код:

    class Worker:

       def __init__(self, name, position):

           self.name = name

           self.position = position

    class Office:

       def __init__(self, name):

           self.name = name

           self.workers = []

       def add_worker(self, worker):

           if worker not in self.workers:

               self.workers.append(worker)

               print(f"{worker.name} added to {self.name}")

           else:

               print(f"{worker.name} is already in {self.name}")

       def move_worker(self, worker, new_office):

           if worker in self.workers:

               self.workers.remove(worker)

               new_office.add_worker(worker)

               print(f"{worker.name} moved from {self.name} to {new_office.name}")

           else:

               print(f"{worker.name} is not in {self.name}")

       def print_workers(self):

           print(f"Workers in {self.name}:")

           for worker in self.workers:

               print(f"{worker.name} - {worker.position}")

    office1 = Office("office1")

    office2 = Office("office2")

    worker1 = Worker("John", "manager")

    worker2 = Worker("Jane", "developer")

    worker3 = Worker("Bob", "designer")

    office1.add_worker(worker1)

    office1.add_worker(worker2)

    office2.add_worker(worker3)

    office1.print_workers()

    office2.print_workers()

    # Moving a worker

    office1.move_worker(worker1, office2)

    office1.print_workers()

    office2.print_workers()

    В этом коде я добавил метод move_worker в класс Office, который позволяет перемещать работника из одного офиса в другой. Также в методе add_worker добавлена проверка наличия работника в офисе, чтобы избежать повторной записи.

    • Автор:

      ellenhhtp
    • 1 год назад
    • 6
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years