from rom import Rom # To mulige l?sninger, fjern kommentering p? den versjonen du vil teste # Her ignorerer vi begrensninger p? antall rom av hver enkelt type """class Hus: def __init__(self): self._rom = [] self._typer = ["soverom", "stue", "kj?kken", "bad"] self._tot_areal = 0 def legg_til_rom(self, rom): if rom.type() in self._typer and len(self._rom) < 5: # hvis det er en godkjent type, og det er plass i huset til flere rom self._rom.append(rom) self._tot_areal += rom.st?rrelse() return True return False def __str__(self): info = "Huset har " + str(self._tot_areal) + " kvadratmeter og " + str(len(self._rom)) + " rom." return info""" # Her har vi med begrensningene om ett bad, to soverom osv: """class Hus: def __init__(self): self._rom = {"soverom": [], "stue": None, "kj?kken": None, "bad": None} self._tot_areal = 0 self._ant_rom = 0 def legg_til_rom(self, rom): if self._rom[rom.type()] == None: # om verdien i ordboken er None vet vi at det er plass self._rom[rom.type()] = rom self._ant_rom += 1 self._tot_areal += rom.st?rrelse() return True elif rom.type() == "soverom": # om typen er soverom har vi ikke None verdi, men en tom liste, derfor egen sjekk for den. if len(self._rom["soverom"]) < 2: self._rom["soverom"].append(rom) self._ant_rom += 1 self._tot_areal += rom.st?rrelse() return True # trenger ikke ? returnere boolsk verdi, men kan v?re nyttig i hovedprogrammet else: return False def __str__(self): info = "Huset har " + str(self._tot_areal) + " kvadratmeter og " + str(self._ant_rom) + " rom." return info"""