Столкнулся с проблемой, попробую описать на примере:
1. Нужно создать программу, которая по входным условиям будет создавать модель комнаты с определенными параметрами.
Тут все ясно, получается что-то типа такого:
class Room(object): def __init__(self, param): self.param = param def some_func(self): #todo pass
Класс, который представляет собой базовую комнату. При создании можем дать разные параметры, добавить различные методы и т.д.
2. Дальше, в комнату нужно поместить случайное количество других определенных объектов (например, “двери”), которые так же могут принимать разные параметры и методы, к которым можно обращаться.
Например, создаю базовый класс двери:
class Door(object): def __init__(self, opened = False, param): self.param = param def some_func(): #todo pass
А вот как поместить случайное кол-во этих “дверей” в “комнату”, что бы к конкретной двери можно было обратиться - ума не приложу. Почитал о композиционном подходе: тут понятно, если создавать конкретное кол-во дверей с конкретными параметрами. Как с случайным кол-вом - не пойму.
Или выбрать другой подход? Подскажите, пожалуйста.
В идеале, программка должна выглядеть так:
Система создает комнату с случайным количеством дверей с параметром “открыта” = Да/Нет (будет определятся, например, так же случайно). Допустим получилось три двери (две закрытых, одна открыта).
Выводится список дверей в комнате и предлагает выбрать дверь. Если юзер выбирает закрытую - сообщение, что закрыто; если открытую - что открыто
Думал реализовать как-нибудь через словари, но на сколько это верный подход, особенно, если придется по разному расширяться.
Я только начал учить Python и ООП, потому вопрос может звучать глупо

Заранее извините и спасибо