class Hus: def __init__(self, farge): self._farge = farge self._eier = None def sett_eier(self, hvem): self._eier = hvem def mal(self, farge): self._farge = farge def hent_farge(self): return self._farge class Person: def __init__(self, navn): self._navn = navn def hent_navn(self): return self._navn husregister = [] ola = Person("Ola") olas_hus = Hus("blå") # I stedet for navnet, setter vi inn en referanse/peker til personobjektet til Ola # For å se hvordan dette blir, visualiser programmet i PythonTutor olas_hus.sett_eier(ola) husregister.append(olas_hus) kari = Person("Kari") karis_hus = Hus("rød") karis_hus.sett_eier(kari) husregister.append(karis_hus) ola = kari = olas_hus = karis_hus = None # Resten av hovedprogrammet er uforandret fra originalen der husregister var ei ordbok # OPPGAVE: Gjør nødevendige endringer, slik at løkka nedenfor gir riktig utskrift # I forelesningen 18. april vil vi se på hvordan dette kan gjøres for person in husregister: hus = husregister[person] print(person.hent_navn(), "eier et hus med farge", hus.hent_farge()) olas_hus = karis_hus olas_hus.mal("gul") print(karis_hus.hent_farge()) olas_hus = Hus("rød") print(karis_hus.hent_farge()) print(olas_hus) print(karis_hus) for person in husregister: hus = husregister[person] print(person.hent_navn(), "eier et hus med farge", hus.hent_farge(), hus)