Øvelse 5 – Oppgave 4
Glade primtall
Filene du trenger for å løse denne oppgaven ligger i .zip-mappen.
I denne oppgaven skal du sammenligne innholdet i to filer, og skrive resultatet av sammenligningen til en ny fil. Filen primtall.txt inneholder primtallene fra 1-1000. Filen gladetall.txt inneholder de «glade tallene» (Happy Numbers, wikipedia: https://en.wikipedia.org/wiki/Happy_number) fra 1-1000.
Finn tallene som er «glade primtall» – altså de som både er glade tall og primtall, og som dermed eksisterer i begge filene. Skriv disse tallene til konsoll, og til en ny fil og lagre den som «gladePrimtall.txt».
Løsningsforslag
## Oppgave 4 svar # Åpne filen med primtall fil1 = open('primtall.txt','r') prim = [] # Initier liste for primtallene # Hent ut primtallene fra filen og legg til i lista for i in fil1.readlines(): prim.append(int(i)) fil1.close() # Lukker primtall-filen print('Primtallene er:', prim,'\n') # Åpne filen med glade tall fil2 = open('gladetall.txt','r') glade = [] # Initier liste for glade tall # Hent ut glade tall fra filen og legg til i lista for i in fil2.readlines(): glade.append(int(i)) # Lukker glade tall-filen fil2.close() print('Glade tall er:', glade,'\n') # Initierer liste for glade primtall gladeprim = [] # For hvert primtall, sjekk om det samme tallet eksisterer i glade tall-lista for i in prim: if i in glade: gladeprim.append(str(i)) # Legger tall som både er prim og glade til i glade primtall-lista print('Glade primtall er:', gladeprim) # Åpner en ny fil fil3 = open('gladePrimtall.txt', 'a') # Skriver glade primtall til filen med newline slik at de kommer på hver sin linje for i in gladeprim: fil3.write(i +'\n') # Lukker filen med glade primtall fil3.close()