if-else-setninger

if-else-setninger#

Læringsmål: if-else-setninger

  • Kunne forklare hva en betingelse er, og sette opp betingelser i Python.

  • Kunne bruke if-else-setninger i Python.

I mange tilfeller ønsker vi å skrive et program som gjør noe hvis én ting er sant, og noe annet hvis det er usant. Dette kan vi gjøre ved å bruke if-else-setninger.

Utforsk 1

Under vises et kort interaktivt program.

Utforsk og kjør programmet, og forklar hva programmet gjør.

Betingelser#

Før vi ser mer på hvordan en if-else-setning fungerer, skal vi se på hva en betingelse er.

Betingelser

En betingelse er en påstand som kan være sann eller usann. En betingelse er en boolsk variabel som enten er True (sann) eller False (usann).

Vi tar et eksempel:

Eksempel 1: betingelser

I programmet fra utforsk 1 har vi brukt betingelsen x > 0 for å dele opp programmet.
x > 0 blir True hvis x er større enn 0, og False ellers.

Så kan du få utforske litt mer:

Utforsk 2

Under vises et interakivt program som skriver ut forskjellige betingelser.

Les programmet og forutsi hva programmet skriver ut.

Skriv inn hypotesen din og sjekk svaret under!

Hvis du endrer på verdien til a og b slik at betingelsen a > b er True, hvilke av de andre betingelsene vil da også være True?

Tenk ut først – prøv deretter ut med programmet!

Hvilke verdier kan du sette a og b slik at flest mulig betingelser blir True?

I underveisoppgave 2 har vi brukt det vi kaller sammenlikningsoperatorer for å sette opp betingelser. Disse operatorene sammenlikner to verdier og returnerer True eller False.

Sammenlikningsoperatorer

Vi har følgende boolske operatorer i Python:

Operator

Eksempel

Forklaring

==

a == b

Er a lik b?

!=

a != b

Er a ulik b?

>

a > b

Er a større enn b?

<

a < b

Er a mindre enn b?

>=

a >= b

Er a større enn eller lik b?

<=

a <= b

Er a mindre enn eller lik b?

if-elif-else-setninger#

Noen ganger ønsker å splitte programmet vårt i flere enn to deler. Da kan vi bruke en elif-setning (står for “else if”):

Utforsk 3

Under vises et program som bruker en if-elif-else-setning.

Kjør programmet med varetype som “mat” og sett prisen til 50.
Kan du forutsi verdien programmet skriver ut? Kjør programmet og sjekk svaret ditt!

Hva blir utskriften hvis du endrer varetype til “reise”?
Sjekk svaret ditt med programmet!

Endre varetype til “annet” og prisen til 100.
Hva blir utskriften? Sjekk svaret ditt med programmet!


Oppgaver#

Oppgave 1

Programmet under løser en likning.

Les programmet og forutsi hva programmet skriver ut. Skriv inn hypotesen din og sjekk svaret!

Juster programmet slik at det løser likningen

\[ -3x + 9 = 0. \]

Juster programmet slik at det løser likningen

\[ x^2 - x - 6 = 0. \]

Oppgave 2

Skriv et program som løser likningen

\[ x^3 - 4x^2 - 7x + 10 = 0. \]

Oppgave 3

Programmet under sjekker om en trekant med sidelengder \(a\), \(b\) og \(c\) er en rettvinklet trekant.

Les programmet under og forutsi hva programmet skriver ut.

Skriv inn hypotesen din under og sjekk svaret!

For å sjekke om flere betingelser er oppfylt samtidig med en if-test, kan man skrive

if betingelse1 and betingelse2:
    ...

Juster programmet slik at det sjekker om trekanten er rettvinklet uten å anta at \(a\) og \(b\) er de to katetene.

Prøv ut programmet med forskjellige verdier for \(a\), \(b\) og \(c\).