# En versjon av koden uten kommentarer ligger under!
# Og et annet l?sningsforslag uten bruk av .readline() og .readlines() ligger nederst!
def les_oppmote(filnavn):
# ?pner filen
fil = open(filnavn)
# Bruker .readline() for ? kun lese f?rste linje i filen, .strip() for ? fjerne \n, og .split() for ? splitte opp linja
# 'grupper' settes alts? til ? v?re en liste
grupper = fil.readline().split(";")
# Bruker .readlines() for ? lese inn de resterende linjene (oppm?tet til gruppene for hver uke)
uker = fil.readlines()
# Lukker filen
fil.close()
# Finner oppm?te uke 11 ved ? sl? opp p? indeks 10 (11. element) og splitter for ? f? en liste med antall oppm?tte p? de forskjellige gruppene
oppmote_uke11 = uker[10].split(";")
# Oppretter en tom ordbok som skal holde p? gruppene og hvor mange som m?tte opp i uke 11
oppmote_uke11_ordbok = {}
# Itererer over indeksene i listen med grupper
for i in range(len(grupper)):
# Legger til element i ordboken der gruppenummer er n?kkelverdi og antall oppm?tte er innholdsverdi
oppmote_uke11_ordbok[grupper[i]] = int(oppmote_uke11[i]) # Husk ? typekonvertere til int!
# Oppretter en tom liste som skal holde p? gruppene som har 20 eller fler oppm?tte
grupper20 = []
# For-l?kke som itererer gjennom gruppene i ordboka, sjekker om verdien er 20 eller h?yere og legger is?fall til i lista
for gruppe in oppmote_uke11_ordbok:
if oppmote_uke11_ordbok[gruppe] >= 20:
grupper20.append(gruppe)
# Returnerer lista med grupper
return grupper20
# Lagrer returverdien av funksjonskallet i en variabel og printer deretter ut en beskrivende utskriftssetning med variabelen
grupper = les_oppmote("oppm?te_in1000.txt")
print(f"Gruppene som har 20 eller flere oppm?tte i uke 11 er: {grupper}")
""""""
# Koden over, bare uten kommentarer:)
def les_oppmote(filnavn):
fil = open(filnavn)
grupper = fil.readline().split(";")
uker = fil.readlines()
fil.close()
oppmote_uke11 = uker[10].split(";")
oppmote_uke11_ordbok = {}
for i in range(len(grupper)):
oppmote_uke11_ordbok[grupper[i]] = int(oppmote_uke11[i])
grupper20 = []
for gruppe in oppmote_uke11_ordbok:
if oppmote_uke11_ordbok[gruppe] >= 20:
grupper20.append(gruppe)
return grupper20
grupper = les_oppmote("oppm?te_in1000.txt")
print(f"Gruppene som har 20 eller flere oppm?tte i uke 11 er: {grupper}")
""""""
# Alternativ l?sning uten ? bruke.readline() og .readlines()!
def les_oppmote(filnavn):
fil = open(filnavn)
teller = 0
grupper = []
antall = []
liste_bra_grupper = []
for linje in fil:
if teller== 0:
grupper = linje.strip().split(";")
if teller == 3:
antall = linje.strip().split(";")
teller+=1
for i in range(len(antall)):
if int(antall[i]) >= 20:
liste_bra_grupper.append(grupper[i])
return(liste_bra_grupper)
les_oppmote("oppm?te_in1000.txt")