from blomst import Blomst class Blomsterkasse: def __init__(self, bredde): self._bredde = bredde self._blomster = [] # Bredde bestemmer hvor mange plasser det er i blomsterkassen, # vi legger til None like mange ganger som det bredde er for i in range(self._bredde): self._blomster.append(None) def plantBlomst(self, blomst): # Gaar gjennom alle plassene i listen for i in range(self._bredde): # Hvis ledig plass if self._blomster[i] is None: # Plasser blomst paa plassen self._blomster[i] = blomst return True # Returnerer False hvis vi har gaatt gjennom # hele listen uten aa finne en ledig plass return False def vannAlleBlomster(self): # Gaar gjennom alle plassene i listen for blomst in self._blomster: # Kaller paa vann for hver blomst, # hvis det er en blomst der if blomst is not None: blomst.vann() def nesteDag(self): # Gaar gjennom alle plassene i listen for blomst in self._blomster: # Kaller paa nesteDag for hver blomst, # hvis det er en blomst der if blomst is not None: blomst.nesteDag() def ryddIBedd(self): # Gaar gjennom alle plassene i listen for i in range(self._bredde): # Sjekker om vi har en blomst if self._blomster[i] is not None: # Sjekker om statusen til blomsten er daarlig if self._blomster[i].hentStatus() == False: # "Fjerner" blomsten ved aa sette det som er paa # den plassen til None self._blomster[i] = None def skrivUtInfoOmBlomster(self): # Gaar gjennom alle plassene i listen for blomst in self._blomster: # Sjekker om vi har en blomst if blomst is not None: # Dette kaller paa .__str__() metoden til # blomsten, som returnerer en string - det er denne # stringen som printes print(blomst) def antallBlomster(self): # Teller for hvor mange blomster vi har antBlomster = 0 # Gaar gjennom alle plassene i listen for blomst in self._blomster: # Hvis det er en blomst if blomst is not None: # Oeker teller med 1 siden vi fant en blomst antBlomster += 1 return antBlomster def __str__(self): # Info om blomsterkassen info = "Bredde: " + str(self._bredde) + "\n" info += "Antall blomster: " + str(self.antallBlomster()) + "\n" # Gaar gjennom alle plassene i listen for blomst in self._blomster: # Hvis det er en blomst if blomst is not None: # Legg til info om blomsten # Her kalles egentlig blomst.__str__() # som returnerer en infostreng om den blomsten info += str(blomst) + "\n" return info