# OPPGAVE 1 # Les fila historie.txt, legg til alle linjene i fila i en liste # Print ut lista def les_fil(filnavn): lest_fil = open(filnavn, "r") alle_linjer = [] linje = lest_fil.readline() #Leser første linje i fila, får ut en string while linje != "": #Sjekke at det ikke er en tom linje (dvs slutten av fila ) linje.strip("\n") alle_linjer.append(linje) #Legger linja til i fila linje = lest_fil.readline() #Leser neste linje i fila, denne får gjennom while-sjekken igjen lest_fil.close() return alle_linjer for element in les_fil("historie.txt"): print(element) # OPPGAVE 2 # Hver linje lagres i en ordbok, med årstall som nøkkelverdi # Skriv ut alle nøklene i ordboka def ny_les_fil(filnavn): lest_fil = open(filnavn, "r") ordbok = {} #Oppretter tom ordbok linje = lest_fil.readline() while linje != "": linje = linje.strip("\n") linje_liste = linje.split(" ", 1) #Får ut en liste med 2 elementer: årstall og resten av teksten på lina aarstall = linje_liste[0] #Første element i linja er årstallet tekst = linje_liste[1] ordbok[aarstall] = tekst linje = lest_fil.readline() lest_fil.close() return ordbok for element in ny_les_fil("historie.txt"): print(element) #Printer ut nøklene i ordboka som returneres # Print yngste og eldste årstall ordbok = ny_les_fil("historie.txt") liste_arstall = list(ordbok.keys()) eldst = liste_arstall[0] yngst = liste_arstall[0] for element in liste_arstall: #Finner yngste årstall if element > yngst: yngst = element #2 separate if-tester, og ikke elif, fordi jeg vil at BEGGE skal kjøre if element < eldst: eldst = element print("eldste årstall og hendelse: ", eldst, ordbok[eldst]) print("yngste årstall og hendelse: ", yngst, ordbok[yngst])