from barn import Barn from gave import Gave class Julekalender: def __init__(self, barneNavn, gavefil): self._apnere = [] #oppg 7.4 self._historikk = {} self._lesHistorikk("Historikk.txt") #slutt for 7.4 for navn in barneNavn: #fjerner '\n' fra navn navn = navn.strip() self._apnere.append(Barn(navn)) self._kalender = [] self._nesteApner = 0 self._dag = 0 self._lesGavefil(gavefil) def _lesGavefil(self, filnavn): file = open(filnavn) for line in file: words = line.split(",") gave = Gave(words[0], float(words[1])) self._kalender.append(gave) def nyDag(self): if self._dag > 23: print("Alle gavene er ?apnet!") return apner = self._apnere[self._nesteApner] apner.apneGave(self._kalender[self._dag]) self._dag += 1 self._nesteApner += 1 if self._nesteApner >= len(self._apnere): self._nesteApner = 0 def gaveOversikt(self): for apner in self._apnere: apner.skrivBarn() #funksjonen i 7.4 def _lesHistorikk(self, histfilnavn): file = open(histfilnavn) for line in file: words = line.split() navn = words[0] self._historikk[navn] = [] for gavenavn in words[1:]: self._historikk[navn].append(gavenavn) #oppgave 7.5 def avergetLike(self): gaveFraDag = self._dag barnNavn = self._apnere[self._nesteApner] while gaveFraDag < 24: gaveNavn = self._kalender[gaveFraDag] if gaveNavn not in self._historikk[barnNavn]: midlertidig = self._kalender[self._dag] self._kalender[self._dag] = self._kalender[gaveFraDag] self._kalender[gaveFraDag] = midlertidig return True gaveFraDag += 1 return False if __name__ == '__main__': f1 = open("barneNavn.txt","r") f2 = open("gaver.txt","r") jg = Julekalender(f1,"gaver.txt") jg.gaveOversikt() jg.nyDag() jg.nyDag() jg.gaveOversikt()