# 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")