Sammenligning og logiske operatorer

En SAMMENLIGNING gir svaret True (sant) eller False (usant). Det er datatypen bool. Du sammenligner med seks operatorer: (er lik), != (er ikke lik), <, >, <= og >=. Pass på at = legger en verdi i en variabel, mens spør om to verdier er like.

Flere sammenligninger kan settes sammen med LOGISKE OPERATORER. and er sann bare når begge sidene er sanne, or er sann når minst én side er sann, og not snur sant til usant og omvendt.

alder = 17
print(alder >= 15)
print(alder >= 15 and alder < 18)
print(not alder >= 18)

Programmet skriver ut True tre ganger: 17 er minst 15, 17 er både minst 15 og under 18, og 17 er ikke minst 18.

Sannhetstabell for and og or
ABA and BA or B
TrueTrueTrueTrue
TrueFalseFalseTrue
FalseTrueFalseTrue
FalseFalseFalseFalse

Tips

  • and krever at ALLE deler er sanne, or krever at MINST ÉN er sann. Det er det samme «og» og «eller» som når du løser ulikheter.
  • not x 7 leses som not (x 7): sammenligningen regnes ut først, så snur not svaret.
  • Skriv alltid and og or med små bokstaver. True og False skrives med stor forbokstav.

Eksempel: Regne ut en betingelse

Hva skriver programmet x = 6; print(x > 4 and x < 6) ut?

Løsning:
  1. Vi regner ut hver sammenligning for seg
  2. x > 4 er 6 > 4, og det er sant
  3. x < 6 er 6 < 6, og det er usant fordi 6 ikke er mindre enn seg selv
  4. and krever at begge er sanne, men én er usann. Programmet skriver ut False.
Hver del for seg
DelRegnes utSvar
x > 46 > 4True
x < 66 < 6False
x > 4 and x < 6True and FalseFalse

Oppgaver

Prøv minst én oppgave på hvert nivå.

Lett(3)

L-21Hva skriver print(5 > 3) ut?

Vis fasit
  1. 5 er større enn 3
  2. sammenligningen er sann
  3. True

L-22Hva skriver print(4 == 4) ut?

Vis fasit
  1. == spør om verdiene er like
  2. 4 og 4 er like
  3. True

L-23Hvilket tegn bruker du i Python for å teste om to verdier er like?

Vis fasit
  1. = legger en verdi i en variabel, != tester «ikke lik»
  2. testen for «lik» er ``==
Middels(3)

M-21Hva skriver programmet x = 10; print(x != 10) ut?

Vis fasit
  1. != betyr «er ikke lik»
  2. 10 er lik 10, så «ikke lik» er usant
  3. False

M-22Hva skriver programmet a = 3; b = 8; print(a < b or a > 10) ut?

Vis fasit
  1. a < b er 3 < 8, sant
  2. a > 10 er usant
  3. or trenger bare én sann del
  4. True
Hver del for seg
DelSvar
a < bTrue
a > 10False
a < b or a > 10True

M-23Hva skriver print(not 5 > 9) ut?

Vis fasit
  1. 5 > 9 er usant
  2. not snur usant til sant
  3. True
Vanskelig(3)

V-21Hvilket uttrykk er True bare når x er større enn 1 OG mindre enn 9?

Vis fasit
  1. Begge krav skal gjelde samtidig
  2. and
  3. x > 1 and x < 9, mens or ville vært sant for ALLE tall
Prøv x = 12
UttrykkSvar for x = 12
x > 1 and x < 9False, riktig
x > 1 or x < 9True, galt

V-22Hva skriver programmet x = 7; print(x > 5 and not x == 7) ut?

Vis fasit
  1. x > 5 er sant
  2. `x 7er sant, sånot x 7` er usant
  3. sant and usant gir False
Hver del for seg
DelSvar
x > 5True
x == 7True
not x == 7False
x > 5 and not x == 7False

V-23Hvor mange av sammenligningene 3 > 2, 2 > 3, 3 == 3 og 3 != 3 er True?

Vis fasit
  1. 3 > 2 er sant
  2. 2 > 3 er usant
  3. 3 == 3 er sant
  4. 3 != 3 er usant
  5. 2 er sanne
Én og én
SammenligningSvar
3 > 2True
2 > 3False
3 == 3True
3 != 3False