# -*- coding: utf-8 -*- """ L?sningsforslag oppgave 1-4 repetisjonskurs IO-filinnlesing IN1000 """ # oppg1 def skrivAlder(): navn = input("Skriv inn ditt navn:\n> ") fodselsaar = input("Skriv inn ditt f?dsels?r:\n> ") alder = 2018 - int(fodselsaar) print("Hei, " + navn + "! Du er " + str(alder) + " ?r gammel!") # oppg2a) def lesVareFil(filnavn): varer = [] minFil = open(filnavn, "r") for linje in minFil: varer.append(linje.strip()) minFil.close() return varer # oppg 2c) def finnesVare(vareliste): vare = input("Oppgi en vare: \n> ") if vare in vareliste: print(vare, "finnes!") else: print(vare, "finnes ikke!") #oppg 3a def lesKaffeFil(filnavn): kopper = [] minFil = open(filnavn, "r") for linje in minFil: biter = linje.split(",") kopper.append(int(biter[1])) minFil.close() return kopper def skrivKaffeInfo(kaffeListe): minst = kaffeListe[0] mest = kaffeListe[0] samlet = 0 for kopper in kaffeListe: samlet += kopper if kopper < minst: minst = kopper if kopper > mest: mest = kopper gjennomsnitt = samlet/len(kaffeListe) print("Minste antall kopper:", minst) print("Flest antall kopper:", mest) print("Totalt antall kopper:", samlet) print("Gjennomsnittlig antall kopper: {:.2f}".format(gjennomsnitt)) def lesKarakterer(filnavn): karakterFordeling = {} # tom ordbok minFil = open(filnavn, "r") forste = minFil.readline() # overskriften for linje in minFil: liste = linje.split() karakter = liste[1] if karakter in karakterFordeling: karakterFordeling[karakter] += 1 else: karakterFordeling[karakter] = 1 minFil.close() return karakterFordeling def skrivKarakterFordeling(karakterer): # rekkef?lgen ikke viktig her... nyFil = open("karakterfordeling.txt", "w") nyFil.write("Karakter - antall \n") for kar in karakterer: nyFil.write(kar + " - " + str(karakterer[kar]) + "\n") nyFil.close() def hovedprogram(): # oppg 1 skrivAlder() # oppg 2 varelisten = lesVareFil("varer.txt") for vare in varelisten: print(vare) finnesVare(varelisten) #oppg 3 kaffeKopper = lesKaffeFil("kaffe.txt") skrivKaffeInfo(kaffeKopper) #oppg 4 ordbok = lesKarakterer("karakterer.txt") skrivKarakterFordeling(ordbok) hovedprogram()