# Magiske metoder #__str__ og __eq__ class Matrett: def __init__(self, navn, pris): self._navn = navn self._pris = pris print(f"Prisen i USD er {pris / 10.98}") # M? alltid returnere en streng def __str__(self): return f"Matretten {self._navn} koster {self._pris} NOK" def __eq__(self, annen): return self._navn == annen._navn def spis(self, penger): if self._pris > penger: print("Du har ikke r?d") return penger print(f"{self._navn} spist for {self._pris} kroner") return penger - self._pris fisk = Matrett("Fisk", 80) kj?tt = Matrett("Kj?tt", 40) print(fisk) print(fisk == kj?tt) # N?sta lister liste = [[1, 2, 3], [4, 5, 6]] print(liste[1][2]) liste2 = [] for i in range(10): ny_rad = [] for j in range(5): ny_rad.append(Matrett("Grateng", 30)) liste2.append(ny_rad) for rad in liste2: print(rad) print(liste2[4][2]) # Skop def tretti(): tre = 3 return tre def seksti(): print(tre) print(tretti()) # Objekter som holder p? andre objekter class Restaurant: def __init__(self, matrettnavn, matrettpris): self._eneste_matrett = Matrett(matrettnavn, matrettpris) def spis(self, penger): return self._eneste_matrett.spis(penger) r = Restaurant("Fiskesuppe", 600) penger_igjen = r.spis(800) print(penger_igjen)