from Aktivitet import Aktivitet class Ukedag: def __init__(self, dag): self._dag = dag self._aktiviteter = [None]*24 ''' Alternativt self._aktiviteter = [] for _ in range(24): self._aktiviteter.append(None) ''' def settInn(self, hva, kl): if self._aktiviteter[kl] is not None: print('Tidspunkt', kl, 'er opptatt') else: self._aktiviteter[kl] = Aktivitet(hva, kl) def tidligste(self): for kl in range(24): if self._aktiviteter[kl] is not None: return kl return -1 def seneste(self): for kl in reversed(range(24)): if self._aktiviteter[kl] is not None: return kl return -1 def antall(self): count = 0 for akt in self._aktiviteter: if akt is not None: count+=1 return count def settInnLedig(self, hva): forst = self.seneste() sist = self.tidligste() if self._antall() == len(self._aktiviteter): print("Dagen er fullstappet") elif self._aktiviteter[12] is None: self._aktiviteter[12] = Aktivitet(hva, 12) else: for kl in range(forst+1, sist) if self._aktiviteter[kl] is None: self._aktiviteter[kl] = Aktivitet(hva, kl) return if sist < 23: self._aktiviteter[sist+1] = Aktivitet(hva, sist+1) else: self._aktiviteter[forst-1] = Aktivitet(hva, forst-1) def skrivUt(self): print('Dag #', self._dag) for akt in self._aktiviteter: if akt is not None: print(end='\t') akt.skrivUt() print() def hentAktiviteter(self): akt_navn = [] for akt in self._aktiviteter: if akt is not None: akt_navn.append(akt.hentAktivitet()) return akt_navn #Alternativ løsning def skrivUtAktiviteter(self, skrevetUt) for akt in self._aktiviteter(skrevetUt) if akt is not None: akt.skrivUtAktivitet(skrevetUt)