class Bibliotek: def __init__(self, navn): self._navn = navn self._boker = [] def leggTilBok(self, bok): print("Fikk inn en bok: ", bok) self._boker.append(bok) def finnesIBibliotek(self, tittel, forfatter): for bok in self._boker: if bok.hentTittel() == tittel and bok.hentForfatter() == forfatter: return bok return False def laanUt(self, tittel, forfatter, kunde): tilUtlaan = self.finnesIBibliotek(tittel, forfatter) # Bruker type() til å sjekke variabelen tilUtlaan. Dette # fordi vi har en __eq__ metode som sammenligner objekter. # hvis __eq__ får en bool som parameter vil den returnere # false hvis vi gjør en sjekk på tilUtlaan != False # selv om tilUtlaan ikke er False. - Fordi __eq__ sammenligner to # objekters variabler. Mens tilUtlaan != False sjekker et objekt mot en # bool og en bool er ikke lik en annen boks tittel # og forfatter ;-) Unngår dette med type() if type(tilUtlaan) != bool: print("Låner ut: ", tilUtlaan) kunde.leggTilBok(tilUtlaan) self._boker.remove(tilUtlaan) else: return False def antallBoker(self): return len(self._boker)