Tilbake
9.2
Programmering med Python

9.2 Programmering med Python

Lær grunnleggende programmering i Python: variabler, datatyper, betingelser, løkker og funksjoner, med praktiske eksempler fra matematikken.

55 min
8 oppgaver
PythonVariablerDatatyperBetingelserLøkkerFunksjoner
Du leser den lesevennlige versjonen
Din fremgang i kapitlet
0 / 8 oppgaver

Ditt første programmeringsspråk

I forrige kapittel skrev vi algoritmer i pseudokode. Nå skal vi gi dem til en datamaskin -- og da trenger vi et ekte programmeringsspråk. Vi bruker Python, av en enkel grunn: Syntaksen ligner vanlig engelsk, det er lett å komme i gang med, og samtidig kraftig nok til at forskere og ingeniører verden over bruker det daglig. Du trenger ikke installere noe -- gratistjenester som Trinket (trinket.io) og replit.com kjører Python rett i nettleseren.

Det første begrepet er variabelen: et navn som peker på en verdi, som en merkelapp på en boks. Du oppretter den med et likhetstegn: alder = 16 lagrer tallet 16 under navnet alder, og pris = 299 kan senere endres med pris = 349.

Verdiene har ulike datatyper. Heltall som 42 og 7-7 kalles int. Desimaltall som 3.14 kalles float -- og merk: Python bruker punktum som desimaltegn, ikke komma. Tekst i anførselstegn, som "Hei", kalles str (streng). Og sannhetsverdiene True og False kalles bool. En typisk begynnelse på et program kan se slik ut: navn = "Ola", hoyde = 1.75, er_elev = True -- tre variabler, tre datatyper, og datamaskinen holder orden på alt.

📝Oppgave Quiz 1

Programmet snakker: input, output og regning

Et program trenger å kommunisere. Utskrift til skjermen gjør du med print(): Kommandoen print("Hei, verden!") skriver ut teksten, og print("Svaret er", resultat) skriver tekst og variabelverdi sammen. Innlesing fra brukeren gjør du med input(): Linjen navn = input("Hva heter du? ") stiller spørsmålet og lagrer svaret.

Men her lurer nybegynnerfellen nummer én: input() gir alltid tekst tilbake -- selv om brukeren skriver et tall. Skal du regne med svaret, må du konvertere det med int() for heltall eller float() for desimaltall: tall = float(input("Skriv inn et tall: ")).

Regneoperatorene er stort sett som du venter: +, -, * for ganging og / for deling, slik at 17 / 4 gir 4.25. Men tre operatorer er nye og viktige. Potens skrives **: 2 ** 5 gir 32, og 2 ** 10 gir 1024. Heltallsdivisjon skrives // og svarer på «hvor mange hele ganger»: 17 // 4 gir 4. Og resten etter divisjonen finner du med modulo-operatoren %: 17 % 4 gir 1, fordi 17=44+117 = 4 \cdot 4 + 1. Kjenner du igjen divisjonsalgoritmen fra forrige kapittel? // og % er nettopp den, innebygd i språket. Et helt lite program: celsius = float(input("Temperatur i Celsius: ")), deretter fahrenheit = (9/5) * celsius + 32, og til slutt print(fahrenheit) -- en formel er blitt et verktøy.

📝Oppgave Quiz 2

Programmet velger: if-setninger

Nå skal programmet ta egne valg -- byggesteinen «valg» fra algoritmekapittelet. I Python heter den if-setning: Programmet sjekker en betingelse og kjører ulik kode avhengig av om den er sann eller usann.

alder = int(input("Hvor gammel er du? "))
if alder >= 18:
    print("Du er myndig.")
else:
    print("Du er ikke myndig ennå.")

Legg merke til to detaljer som Python er nådeløs på. Etter if-linjen og else kommer et kolon. Og kodelinjene som hører til valget, har innrykk -- fire mellomrom. Glemmer du kolonet eller innrykket, får du feilmelding. Innrykket er ikke pynt: Det er slik Python vet hvilke linjer som hører til hvilken gren.

Trenger du flere enn to utfall, bruker du elif («else if») mellom if og else -- for eksempel for å oversette poengsummer til karakterer trinn for trinn. Betingelsene skrives med sammenligningsoperatorer: == er lik (to likhetstegn -- ett tilordner, to sammenligner!), != er ikke lik, og <, >, <=, >= fungerer som i matematikken. Et praktisk eksempel: pris = 800, så if pris > 500: pris = pris * 0.9. Betingelsen er sann, så prisen reduseres med 10 prosent til 720 -- en automatisk rabattregel på tre linjer.

📝Oppgave Quiz 3

Programmet gjentar: løkker og funksjoner

Datamaskinens superkraft er å gjenta uten å bli lei -- byggesteinen «iterasjon». For-løkken brukes når du vet hvor mange ganger: for i in range(1, 6): kjører kroppen for i=1,2,3,4,5i = 1, 2, 3, 4, 5. Merk at range(1, 6) stopper før 6, og at range(4) starter på 0 og gir 0,1,2,30, 1, 2, 3. Summen fra algoritmekapittelet blir nå ekte kode: total = 0, deretter for tall in range(1, 101): total = total + tall -- og print(total) viser 5050.

While-løkken brukes når du ikke vet antallet, bare betingelsen: while n > 0: gjentar så lenge betingelsen er sann. En nedtelling fra 10 er n = 10, så while n > 0: print(n) og n = n - 1.

Til slutt funksjoner: navngitte kodeblokker du kan bruke igjen og igjen, definert med def. Skriver du

def areal_rektangel(lengde, bredde):
    return lengde * bredde
kan du senere kalle areal_rektangel(5, 3) og få 15 tilbake. Funksjonen er funksjonsmaskinen fra funksjonskapittelet, bygget i kode: argumenter inn, returverdi ut. Helt til slutt, de fem klassiske nybegynnerfeilene: glemt kolon etter if/for/while/def, feil innrykk, = der det skulle vært ==, glemt int()/float() rundt input() -- og variabelnavn med mellomrom (bruk understrek: min_variabel).
📝Oppgave Quiz 4

Fortellingen om språket datamaskinen forstår

Pseudokoden har blitt til Python. Variabler lagrer verdier med tilordning (pris = 500), og verdiene har datatyper: int, float, str og bool -- med punktum som desimaltegn. Programmet kommuniserer med print() ut og input() inn, og husk konverteringen: input() gir alltid tekst, så pakk den i int() eller float() før du regner.

Regneoperatorene gjemmer tre nyheter: potens **, heltallsdivisjon // og rest % -- divisjonsalgoritmen innebygd i språket. If-setninger gir programmet valg, med kolon, innrykk og == for sammenligning. For-løkker gjentar et kjent antall ganger -- range(1, 101) summerte til 5050 -- mens while-løkker kjører så lenge betingelsen er sann. Og funksjoner definert med def pakker kode i gjenbrukbare maskiner med argumenter inn og return ut.

Verktøykassen er komplett: variabler, valg, løkker og funksjoner. I neste kapittel slipper vi den løs på ekte matematikk -- renter, terningkast og likninger som løses med rå regnekraft.

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.