
Написал прогу на питоне: создать два класса(работники и офисы), в main сделать так чтобы работников
можно было раскидывать по офисам и просматривать информацию об офисах.

Ответы на вопрос

Відповідь:
class Worker: def __init__(self, name, position, salary): self.name = name self.position = position self.salary = salary self.office = None def assign_office(self, office): self.office = office def __str__(self): return f"{self.name} ({self.position}) - ${self.salary}" class Office: def __init__(self, location, size): self.location = location self.size = size self.workers = [] def add_worker(self, worker): self.workers.append(worker) worker.assign_office(self) def get_workers(self): return self.workers def __str__(self): return f"{self.location} ({self.size} sq. ft.) - {len(self.workers)} workers" if __name__ == "__main__": office1 = Office("New York", 1000) office2 = Office("London", 800) worker1 = Worker("John", "Manager", 70000) worker2 = Worker("Jane", "Developer", 50000) worker3 = Worker("Jack", "Designer", 60000) office1.add_worker(worker1) office2.add_worker(worker2) office2.add_worker(worker3) offices = [office1, office2] print("Offices:") for office in offices: print(f"\\t{office}") print("\\t\\tWorkers:") for worker in office.get_workers(): print(f"\\t\\t\\t{worker}")



Конечно, я могу помочь вам создать программу на Python, которая будет управлять работниками и офисами. Давайте начнем с определения двух классов - "Работники" и "Офисы", а затем создадим главную часть программы (main) для управления ими.
Прежде всего, определим класс "Работники". Работники будут иметь атрибуты, такие как имя, возраст, должность и зарплата. Они также могут быть назначены в офис.
```python class Работник: def __init__(self, имя, возраст, должность, зарплата): self.имя = имя self.возраст = возраст self.должность = должность self.зарплата = зарплата self.офис = None
def назначить_в_офис(self, офис): self.офис = офис
def информация(self): if self.офис: return f"{self.имя}, Возраст: {self.возраст}, Должность: {self.должность}, Зарплата: {self.зарплата}, Офис: {self.офис.название}" else: return f"{self.имя}, Возраст: {self.возраст}, Должность: {self.должность}, Зарплата: {self.зарплата}, Не назначен в офис"
class Офис: def __init__(self, название, адрес): self.название = название self.адрес = адрес self.работники = []
def добавить_работника(self, работник): self.работники.append(работник)
def информация(self): информация_работников = "\n".join([f"{работник.имя}, Возраст: {работник.возраст}, Должность: {работник.должность}" for работник in self.работники]) return f"Офис: {self.название}\nАдрес: {self.адрес}\nРаботники:\n{информация_работников}"
# Теперь создадим несколько работников и офисов работник1 = Работник("Иван", 30, "Менеджер", 50000) работник2 = Работник("Мария", 25, "Разработчик", 60000) работник3 = Работник("Петр", 35, "Дизайнер", 55000)
офис1 = Офис("Офис 1", "Ул. Ленина, 123") офис2 = Офис("Офис 2", "Ул. Пушкина, 456")
офис1.добавить_работника(работник1) офис1.добавить_работника(работник2) офис2.добавить_работника(работник3)
работник1.назначить_в_офис(офис1) работник2.назначить_в_офис(офис1) работник3.назначить_в_офис(офис2)
# Теперь можно просматривать информацию о работниках и офисах print("Информация о работниках:") print(работник1.информация()) print(работник2.информация()) print(работник3.информация())
print("\nИнформация о офисах:") print(офис1.информация()) print(офис2.информация()) ```
Этот код определяет два класса: "Работник" и "Офис". Работники могут быть назначены в офис, и вы можете просматривать информацию о них и офисах. Вы можете продолжить добавлять работников и офисы и управлять ими в вашей программе.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili