•with open(f) as fh: apne fil | line.strip().split(sep): les og del | with open(f, 'w') as fh: skriv
Viktige feiltyper
•IndexError: indeks utenfor rekkevidde | ValueError: ugyldig verdi | TypeError: feil type | ZeroDivisionError: divisjon pa 0 | NameError: udefinert variabel
Nøkkelformler per tema
Python grunnleggende
•range(n) gir 0, 1, ..., n-1 (n elementer)
•range(a, b) gir a, a+1, ..., b-1
•List comprehension: [uttrykk for var in iterable if betingelse]
•zip(a, b) kombinerer element for element
•a[-1] gir siste element i listen a
•f-streng: f'verdi={x:.4f}' gir 4 desimaler
Funksjoner og testing
•lambda x: uttrykk -- anonym funksjon
•assert betingelse, 'melding' -- kaster AssertionError hvis False
•abs(computed - expected) < tol -- toleransebasert test for float
•def f(g, x): return g(x) -- funksjon som tar funksjon som argument
•Glemme at Monte Carlo krever stort N for noeyaktig resultat -- N=100 gir stor varians.
•Bruke random.random() (enkeltverdi) nar du trenger np.random.random(N) (array).
•Glemme a sette random seed for reproduserbarhet i tester: np.random.seed(42).
Eksamenstips
Python grunnleggende
•Flervalgsoppgaver med 'hva skrives ut' utgjor 10-14 poeng (5-7 oppgaver). Bruk 2-3 minutter per oppgave og trace systematisk.
•Lag en tabell med variabelverdier for hver iterasjon nar du tracer lokker. Dette forhindrer tellefeil.
•Nar du ser zip + list comprehension, skriv ut alle parene forst, sa bygg listen.
•Sjekk alltid om det sporres etter print() av en variabel, en indeks (a[i]), eller et uttrykk.
Funksjoner og testing
•Nesten alle store oppgaver (8+ poeng) har en b)-del som ber deg skrive en testfunksjon. Oev pa monsteret: kjente input -> forventet output -> assert.
•Nar oppgaven gir deg en testfunksjon og ber deg skrive funksjonen som testes: les testfunksjonen noyaktig for a forsta signatur og forventet oppforsel.
•H2025 Oppgave 6 er et klassisk felle-sporsmal: sjekk alltid om range() gir riktige verdier for forventningen.
•Feilhandteringsoppgaver (try/except) krever at du vet noyaktig hvilken feiltype hver operasjon kaster.
Filhandtering og ordbeker
•Filhandtering + ordbok-oppgaven er pa ALLE eksamener og gir 9-12 poeng. Drill dette monsteret!
•Les filformatet noyaktig: er separatoren ';', ', ' (komma + mellomrom), eller bare mellomrom?
•Filtreringsfunksjoner skal alltid returnere en ny ordbok -- aldri endre argumentet.
•Bruk dict comprehension for kompakte filtreringer: {k: v for k, v in d.items() if betingelse}.
Klasser og spesialmetoder
•Vektorklasser (Vec2D, Vec3D) med __add__, __mul__, __str__ er pa ALLE eksamener (H2024 Oppg 11, H2025 Oppg 12).