If-setninger#

If-setninger (if-statements) er en måte for å sjekke om et utsagn er sant, og så gjøre en del av koden bare dersom det er sant. Da kan programmet reagere ulikt til forskjellige scenarioer.

Utsagn#

Utsagn er påstander som kan være sanne eller usanne. True eller False.

Først må vi lære en måte å uttrykke utsagn på. Dette kan vi gjøre med symboler som vi kaller sammenlikningsoperatorer.

Under er en oversikt over disse.

Operator

Betydning

==

Lik

!=

Ikke lik

>

Større enn

<

Mindre enn

>=

Større enn, eller lik.

<=

Mindre enn, eller lik.

Her kommer det noen eksempler på utsagn.

print(1 == 2)
print(1 != 2)
print(1 > 2)
print(1 < 2)
print(1 >= 2)
print(1 <= 2)
False
True
False
True
False
True

Der vi får False er utsagnet galt. Der vi får True er utsagnet riktig. Gå igjennom eksempelet og sørg for at du forstår hvorfor det blir skrevet ut True eller False for de forskjellige utsagnene.

If-setninger#

Nå kan vi begynne å skrive if-setninger.

a = 2
b = 3

if a < b:
    print("a er mindre enn b")
a er mindre enn b

Legg merke til at linjen med print() er skrevet med et innrykk. Dette kan du lage selv ved å trykke på TAB-knappen på tastaturet. Det som er skrevet med innrykk etter en if-setning if a < b: skjer bare dersom utsagnet a < b er sant.

Forsøk å endre programmet slik at a ikke er mindre enn b. Da vil du se at linjen med print() ikke gjennomføres.

Vi kan også sjekke flere ulike scenarioer.

a = 3
b = 3

if a < b:
    print("a er mindre enn b")
elif a == b:
    print("a er lik b")
else:
    print("a er større enn b")
a er lik b

Her bruker vi elif og else for å sjekke flere forskjellige muligheter. elif er en forkortelse for else if, og betyr eller hvis. else betyr ellers.

Programmet over kan leses på denne måten:

  • Hvis a er mindre enn b så skriver vi a er mindre enn b

  • … eller hvis a er lik b så skriver vi a er lik b

  • … ellers skriver vi a er større enn b.

Logiske operatorer#

Vi kan kombinere utsagn med de logiske operatorene and, or og not.

Hvis jeg ønsker å sjekke at flere utsagn stemmer, altså at begge utsagnene blir sanne, kan jeg bruke and.

x = 6
print(x >= 5 and x <= 10) # Sjekker om x er større eller lik 5 *og* mindre enn eller lik 10.
True

Hvis det holder at et utsagn stemmer, men jeg ønsker å sjekke flere, kan jeg bruke or. Følgende utsagn blir sant dersom et av utsagnene er sant, eller begge.

x = 20
print(x == 20 or x == 1) # Sjekker om x er 20 eller 1. 
True

Hvis jeg ønsker å sjekke at noe ikke stemmer kan jeg bruke not.

x = 5
print(not x == 0)
True

Oppgaver#

Oppgave 1 🗣️

I denne oppgaven skal du lage utsagn og skrive ut booleans (sannhetsverdier).

print(1 == 1) # Skriver ut True
  1. Lag et utsagn som gir True og bruker operatoren ==

  2. Lag et utsagn som gir True og bruker operatoren >

  3. Lag et utsagn som gir True og bruker operatoren !=

  4. Lag et utsagn som gir False og bruker operatoren ==

  5. Lag et utsagn som gir False og bruker operatoren <

  6. Lag et utsagn som gir False og bruker operatoren >=

Oppgave 2 ✖️

Se Input og pakker for hvordan man kan få input og generere tilfeldige tall.

I denne oppgaven skal vi lage et program som trener oss på gangetabellen.

Her er starten på et program.

from random import randint

a = randint(1, 9)
b = randint(1, 9)
  1. Utvid programmet til å skrive «Hva er a ganger b

  2. Lag en variabel svar som skal være et tall fra brukerens input.

Hvis svaret er riktig skal programmet skrive ut at svaret er riktig. Hvis svaret er feil skal programmet skrive ut at svaret er feil og hva som er det riktige svaret.