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 ennb
så skriver vi a er mindre enn b… eller hvis
a
er likb
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
Lag et utsagn som gir
True
og bruker operatoren==
Lag et utsagn som gir
True
og bruker operatoren>
Lag et utsagn som gir
True
og bruker operatoren!=
Lag et utsagn som gir
False
og bruker operatoren==
Lag et utsagn som gir
False
og bruker operatoren<
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)
Utvid programmet til å skrive «Hva er
a
gangerb
?»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.