class Plagg: def __init__(self, farger): self._farger = farger self._antall_ganger_med_i_antrekk = 0 def har_farge(self, farge): return farge in self._farger def hent_ant_antrekk(self): return self._antall_ganger_med_i_antrekk def oppdater_ant_antrekk(self, antall): self._antall_ganger_med_i_antrekk += antall class Kategori: def __init__(self, kategorinavn): self._kategorinavn = kategorinavn self._plagg = [] def nytt_plagg(self, farger): #["A", "B"] self._plagg.append(Plagg(farger)) def finn_plagg_med_farge(self, farge): #"R?d" liste = [] for plagg in self._plagg: if plagg.har_farge(farge): liste.append(plagg) return liste def trekk_tilfeldig_plagg(self, farge): liste = self.finn_plagg_med_farge(farge) if len(liste) == 0: return None indeks = randint(0, len(liste) - 1) #["A", "B"] return liste[indeks] class Antrekk: def __init__(self, plagg_liste, anledning): self._anledninger = [] #["A", "B"] self._anledninger.append(anledning) self._plagg = plagg_liste #[Plagg, Plagg] for plagg in self._plagg: plagg.oppdater_ant_antrekk(1) #Antar at vi ?ker med 1 def hent_plaggene(self): return self._plagg def legg_til_anledning(self, anledning): self._anledninger.append(anledning) def passer_til(self, anledning): return anledning in self._anledninger def har_farge(self, farge): #Antar at "noen av plaggene" vil si minst 1 for plagg in self._plagg: if plagg.har_farge(farge): return True return False class Garderobe: def __init__(self, ): self._ordbok = {} # {"Kategorinavn" : Kategori-objekt} self._antrekk = [] #[Antrekk-objekt] def nytt_plagg(self, kategorinavn, farger): #["A", "B"] self._ordbok[kategorinavn] = Kategori(kategorinavn) self._ordbok[kategorinavn].nytt_plagg(farger) # self._ordbok[kategorinavn] gir oss et Kategori-objekt