OPPGAVETEKST: Lage en klasse Bygning. Bygningen skal ha en adresse, en huseier og en liste med leietakere som bor der n?. Det skal v?re metoder for at leietakere kan flytte inn og flytte ut. Huseier skal ogs? kunne endres (ved salg av bygningen). Vi gjorde listen om til ordbok - for eksempelets skyld *** NY FIL *** class Bygning: def __init__(self, adr, eier, max_ant): self._adresse = adr self._huseier = eier self._maxantall = max_ant self._leietakere = {} def flyttInn(self, person): if len(self._leietakere) < self._maxantall: self._leietakere[person.hentNavn()] = person #navnet til Person-objektet er n?kkel, Person-objektet er innholdsverdi return "Flyttet inn: " + str(person) return "Det er fullt. F?r ikke lagt til: " + str(person) def flyttUt(self, person): if len(self._leietakere) <= 0: return ("Det er ingen som bor her.") for folk in self._leietakere: if self._leietakere[folk] == person: # self._leietakere.pop(person.hentNavn()) return ("Flyttet ut: " + str(person)) def settNyEier(self, ny_eier): self._eier = ny_eier def sjekkLeietakere(self): print("Bor her: ") for person in self._leietakere: print(person) #Hente metoder kan v?re kjekt ? ha def hentAdr(self): return self._adresse def hentAntall(self): return self._antall def hentLeietakere(self): return self._leietakere def hentEier(self): return self._huseier **** NY FIL **** class Person: def __init__(self, navn, alder): self._alder = alder self._navn = navn def hentNavn(self): return self._navn def hentAlder(self): return self._alder def __str__(self): #denne metoden gir oss en ?nsket utskrift av Person-objekter return "Navn: " + self._navn *** NY FIL ***** from bygning import Bygning from person import Person def hovedprogram(): eier = Person("Hans Hansen", 51) #eier er en referanse til et Person-objekt bygning = Bygning("Schleppegrells gate 32", eier, 2) meg = Person("Guro", 22) #meg er en referanse til et Person-objekt minsoster = Person("Anne", 19) print(meg) #printer Navn: Guro bygning.flyttInn(meg) bygning.flyttInn(minsoster) print(bygning.flyttInn(eier)) print(bygning.flyttUt(minsoster)) print(bygning.hentLeietakere()) bygning.sjekkLeietakere() hovedprogram()