Tilbake
11.2

11.2 Programmering med Python

Variabler, løkker, betingelser og lister i Python.

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

Velkommen til Python

Na som du kan lage algoritmer med pseudokode, er det pa tide a ta steget videre til et ekte programmeringssprak! Python er et av verdens mest populare programmeringssprak, og det er spesielt populart i matematikk og vitenskap fordi det er lett a lare og kraftig a bruke.

Med Python kan du la datamaskinen gjore utregninger for deg, tegne grafer, simulere tilfeldige hendelser og mye mer. Det fineste er at Python-kode ligner veldig pa pseudokode -- sa overgangen blir enkel.

I dette kapittelet skal vi dekke alt du trenger for a komme i gang: variabler og datatyper, utskrift og inndata, betingelser, lokker og lister. Alt med matematiske eksempler, selvfolgelig!

Variabler -- bokser for verdier

I Python er en variabel et navn som lagrer en verdi. Tenk pa det som en merket boks der du kan legge noe oppi. Du lager en variabel ved a gi den et navn og en verdi:

alder = 15
navn = "Emma"
hoyde = 1.68
er_elev = True

Python har flere datatyper: int for heltall (som 4242 eller 7-7), float for desimaltall (som 3,143{,}14 eller 0,50{,}5), str for tekst (som "Hei"), og bool for sannhetsverdier (True eller False). Merk at Python bruker punktum som desimaltegn, ikke komma!

For a vise noe pa skjermen bruker vi funksjonen print():

print("Hei, verden!")
print(42)
print("Svaret er", 7 + 3)

En spesielt nyttig funksjon er f-strenger, som lar deg sette variabler rett inn i tekst:

navn = "Ola"
alder = 15
print(f"{navn} er {alder} ar gammel.")

Dette gir utskriften: Ola er 15 ar gammel.

La oss prove noe mer matematisk. Anta at vi vil beregne arealet av en sirkel med radius r=5r = 5:

import math

radius = 5
areal = math.pi * radius**2
print(f"Arealet av sirkelen er {areal:.2f}")

Her bruker vi import math for a fa tilgang til π\pi, og **2 betyr "opphøyd i 2". Utskriften blir: Arealet av sirkelen er 78.54.

📝Oppgave Quiz 1

Inndata og matematiske operatorer

For a lese inn data fra brukeren bruker vi input(). Denne funksjonen returnerer alltid en tekststreng, sa vi ma konvertere til tall med int() eller float():

navn = input("Hva heter du? ")
alder = int(input("Hvor gammel er du? "))
hoyde = float(input("Hvor hoy er du (i meter)? "))

Python har disse matematiske operatorene:

- + addisjon, - subtraksjon, * multiplikasjon
- / vanlig divisjon (gir desimaltall): 7/3=2,333...7 / 3 = 2{,}333...
- // heltallsdivisjon: 7//3=27 // 3 = 2
- % modulo (rest): 7%3=17 \% 3 = 1
- ** potens: 232^3 skrives 2**3

Merk forskjellen mellom / og //. Og % (modulo) gir resten -- det samme som vi brukte i Euklids algoritme!

Betingelser -- nar programmet tar valg

Betingelser lar programmet ta valg basert pa hva som er sant. Vi bruker if, elif (forkortelse for "else if") og else:

tall = int(input("Skriv inn et tall: "))

if tall > 0:
    print("Tallet er positivt")
elif tall < 0:
    print("Tallet er negativt")
else:
    print("Tallet er null")

Viktig: Legg merke til innrykket (4 mellomrom). Python bruker innrykk for a vise hva som horer til en betingelse. Sammenligningsoperatorene er: == (lik), != (ikke lik), >, <, >= og <=.

Her er et klassisk eksempel -- sjekke om et tall er partall eller oddetall:

tall = int(input("Skriv inn et heltall: "))

if tall % 2 == 0:
    print(f"{tall} er et partall")
else:
    print(f"{tall} er et oddetall")

Vi bruker tall % 2 for a finne resten nar tallet deles pa 2. Hvis resten er 0, er tallet et partall.

📝Oppgave Quiz 2

Lokker -- nar kode gjentar seg

En av de kraftigste tingene med programmering er evnen til a gjenta kode. Det finnes to typer lokker i Python: for-lokker og while-lokker.

En for-lokke gjentar kode et bestemt antall ganger. Vi bruker range():

for i in range(5):
    print(i)  # Skriver ut: 0, 1, 2, 3, 4

range() kan brukes pa tre mater: range(n) gir tall fra 0 til n1n-1, range(a, b) gir tall fra aa til b1b-1, og range(a, b, steg) gir tall med et bestemt steg.

La oss bruke en for-lokke til a beregne summen 1+2+3++1001 + 2 + 3 + \ldots + 100:

sum_tall = 0
for i in range(1, 101):
    sum_tall = sum_tall + i
print(f"Summen er {sum_tall}")

Utskriften er: Summen er 5050. Vi kan sjekke med formelen: 1001012=5050\displaystyle \frac{100 \cdot 101}{2} = 5050. Stemmer!

En while-lokke gjentar kode sa lenge en betingelse er sann:

tall = 1
while tall <= 10:
    print(tall)
    tall = tall + 1

Pass pa at betingelsen til slutt blir usann, ellers far du en uendelig lokke (programmet stopper aldri)!

Lister -- samlinger av verdier

En liste er en samling av verdier i en bestemt rekkefolgje:

tall = [3, 7, 1, 9, 4]
navn = ["Ola", "Kari", "Per"]

Nyttige listeoperasjoner: len(liste) gir antall elementer, liste[i] gir element nummer ii (starter pa 0!), liste.append(x) legger til et element, sum(liste) gir summen, min(liste) gir minste element og max(liste) gir storste.

Her er et program som finner gjennomsnittet av en talliste:

tall = [4, 7, 2, 9, 5, 8]
gjennomsnitt = sum(tall) / len(tall)
print(f"Gjennomsnittet er {gjennomsnitt:.2f}")

Utskrift: Gjennomsnittet er 5.83. Manuell sjekk: 4+7+2+9+5+86=3565,83\displaystyle \frac{4 + 7 + 2 + 9 + 5 + 8}{6} = \frac{35}{6} \approx 5{,}83.

📝Oppgave Quiz 3

Oppsummering

Du har na lart det grunnleggende i Python! Her er en oversikt:

- Variabler lagrer verdier med datatyper som int (heltall), float (desimaltall), str (tekst) og bool (sannhetsverdi). Bruk punktum som desimaltegn i Python.
- print() skriver ut verdier, og f-strenger (f"tekst {variabel}") lar deg sette variabler rett inn i tekst.
- input() leser inn data fra brukeren. Husk a konvertere til tall med int() eller float().
- Betingelser (if/elif/else) lar programmet ta valg basert pa sammenligninger (==, !=, >, <, >=, <=). Innrykk er viktig!
- For-lokker gjentar kode et bestemt antall ganger med range(). Husk at range(a, b) gar fra aa til b1b - 1.
- While-lokker gjentar kode sa lenge en betingelse er sann. Pass pa uendelige lokker!
- Lister samler verdier med nyttige funksjoner som sum(), len(), min(), max() og append(). Indeksering starter pa 0.
- Matematiske operatorer: +, -, *, / (divisjon), // (heltallsdivisjon), % (modulo), ** (potens).

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.