from bolig import Bolig from person import Person class Bygning: def __init__(self, antBoligerPerEtasje, antallEtasjer): self._antallBoligerPerEtasje = antBoligerPerEtasje self._antallEtasjer = antallEtasjer self._boliger = [] self._beboere = 0 self.fyllMedBoliger() def fyllMedBoliger(self): for i in range(self._antallEtasjer): etasje = [] for j in range(self._antallBoligerPerEtasje): etasje.append(Bolig()) self._boliger.append(etasje) def flyttInn(self, person): """ Metoden flytter inn en person i f?rste ledige bolig. """ # Iterer gjennom til vi finner en ledig bolig! # Kan bruke begge metodene, Metode 2 er litt mer forst?elig. # NOTE: Her ser dere bruk av break, selvom dette ikke er pensum! # NOTE: HUSK AT JEG DRET MEG UT HER, veldig lett ? gj?re feil med # break! #METODE 1 # for i in range(self._antallEtasjer): # for j in range(self._antallBoligerPerEtasje): # bolig = self._boliger[i][j] # if bolig.erLedig(): # bolig.settBeboer(person) # self._beboere += 1 # break # break # METODE 2 for etasje in self._boliger: for bolig in etasje: if bolig.erLedig(): bolig.settBeboer(person) self._beboere += 1 break break def printBeboere(self): """ G?r gjennom boligene v?re og printer """ print("\nVelkommen til Eirikbakken Borettslag! \n") for etasje in self._boliger: for bolig in etasje: print(bolig, end="|") print("\n"+"----"*self._antallBoligerPerEtasje) print("\nAntall beboere:", self._beboere) print("Ledige boliger:", self._antallEtasjer*self._antallBoligerPerEtasje - self._beboere, "\n") def hovedprogram(): etasjer = input("Hvor mange etasjer: ") boliger = input("Hvor mange boliger per etasje: ") bygning = Bygning(int(boliger), int(etasjer)) mari = Person("Mari", 29) sverre = Person("Sverre", 34) bygning.flyttInn(mari) bygning.flyttInn(sverre) bygning.printBeboere() hovedprogram()