If-setninger


If-setninger#

If-setninger (if-statements) lar programmet reagere på forskjellige måter.


Utsagn#

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

I Python bygges utsagn opp med sammenlikningsoperatorer.

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

Python evaluerer utsagnene ved å sammenlikne venstre og høyre side. Hvis utsagnet er sant så blir det True.

Likhetstegn i Python

I Python er det stor forskjell på et enkelt likhetstegn = og doble likhetstegn ==

  • Enkle likhetstegn = brukes til å sette variabler.

  • Doble likhetstegn == brukes til å sjekke om noe er likt

Logiske operatorer

Vi kan kombinere flere 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.

  • Hvis det holder at ett utsagn stemmer, men jeg ønsker å sjekke flere, kan jeg bruke or.

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

x = 6
print(x >= 5 and x <= 10) # Sjekker om x er minst 5 og maks 10
x = 20
print(x == 20 or x == 1) # Sjekker om x er 20 eller 1. 
x = 5
print(not x == 0)

If-setninger#

If-setninger sjekker et utsagn for å bestemme om deler av koden skal kjøres. Det er koden som står med innrykk som kjøres, men bare hvis utsagnet er sant. Man lager selv innrykk med TAB-tasten på tastaturet.

a = 2
b = 3

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

Linjen med print("a er mindre enn b") står med innrykk. Denne kjøres bare hvis a < b er sant.

Vi kan legge til enda flere utsagn med elif og else

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.


Oppgaver#

Oppgave 1

Hva skrives ut av følgende programmer? Svar uten å kjøre programmene selv.

a = -3
b = 5
print(b < a)
a = 10
b = 5
c = 2 * b
print(a == c)
a = 42
print(a % 2 == 0)
a = 4
b = 5
svar = 21

if svar == a * b:
    print("Riktig")
else:
    print("Feil")
a = 67

if a % 2 == 0:
    print("Partall")
else:
    print("Oddetall")

Utskrift #0:
Utskrift #1:
Utskrift #2:
Utskrift #3:
Utskrift #4:

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.