Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Sammenligningsoperatorer | Boolske Verdier og Sammenligninger
Datatyper i Python

bookSammenligningsoperatorer

Sammenligninger lar programmet ditt stille ja/nei-spørsmål om verdier:

  • Er disse like?
  • Er denne større?
  • Ligger dette tallet innenfor et område?

En sammenligning returnerer en boolsk verdi (True eller False) og er grunnlaget for if/while-logikk.

Det grunnleggende

Python tilbyr seks sammenligningsoperatorer (==, !=, <, <=, >, >=) for å teste likhet og rekkefølge mellom verdier; hver sammenligning evalueres til True eller False.

Likhet — ==

Sjekker om to verdier er like.

12
print(5 == 5) # True print("apple" == "Apple") # False (case matters)
copy
Note
Merk

= tildeler en verdi til en variabel, mens == sammenligner to verdier.

Ulikhet — !=

Kontrollerer om to verdier er forskjellige.

12
print(5 != 3) # True print("cat" != "cat") # False
copy

Større enn — >

Sant hvis venstre verdi er strengt større enn høyre.

12
print(7 > 9) # False print(12 > 3) # True
copy

Mindre enn — <

Sann hvis venstre verdi er strengt mindre enn høyre.

12
print(2 < 10) # True print("a" < "b") # True (lexicographic order)
copy

Større enn eller lik — >=

Sann hvis venstre verdi er større eller lik høyre.

12
print(7 >= 7) # True print(4 >= 9) # False
copy

Mindre enn eller lik — <=

Sann hvis venstre verdi er mindre eller lik høyre.

12
print(10 <= 9) # False print(5 <= 5) # True
copy

Kjedede sammenligninger

Python lar deg skrive intervaller på en naturlig måte: 0 < x < 10 betyr "x er større enn 0 og mindre enn 10". I bakgrunnen oppfører det seg som (0 < x) and (x < 10).

123
x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
copy

Dette gir en ryddig lesbarhet og unngår gjentakelse av x.

Flyttallsnyanse (små avrundingsfeil)

Noen desimaler (som 0.1) kan ikke representeres nøyaktig i binær. Derfor kan streng likhet på flyttall gi overraskende resultater.

1
print(0.1 + 0.2 == 0.3) # False in many environments
copy

Ved sammenligning av flyttall for "likhet", bør toleransesjekk foretrekkes.

12
import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
copy

Du sier ikke "nøyaktig lik", du sier "nær nok".

Sammenligning av strenger (store og små bokstaver, rekkefølge)

Strengsammenligninger er store- og småbokstavfølsomme og leksikografiske (tegn for tegn i Unicode-rekkefølge).

12
print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
copy

For skriftuavhengige sammenligninger, normaliser begge sider først.

12
s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
copy

1. Fyll inn med True eller False:

2. Hvilket enkelt uttrykk sjekker korrekt at x er mellom 1 og 5 inkludert (ved bruk av kjeding)?

3. Hvilken strengsammenligning er True?

question-icon

Fyll inn med True eller False:

5 == 5
3 < 2

9 >= 9

"A" == "a"

0 < 7 <= 7

Click or drag`n`drop items and fill in the blanks

question mark

Hvilket enkelt uttrykk sjekker korrekt at x er mellom 1 og 5 inkludert (ved bruk av kjeding)?

Select the correct answer

question mark

Hvilken strengsammenligning er True?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain more about how chained comparisons work in Python?

What are some common pitfalls when comparing floating-point numbers?

How do I perform a case-insensitive string comparison in Python?

Awesome!

Completion rate improved to 5

bookSammenligningsoperatorer

Sveip for å vise menyen

Sammenligninger lar programmet ditt stille ja/nei-spørsmål om verdier:

  • Er disse like?
  • Er denne større?
  • Ligger dette tallet innenfor et område?

En sammenligning returnerer en boolsk verdi (True eller False) og er grunnlaget for if/while-logikk.

Det grunnleggende

Python tilbyr seks sammenligningsoperatorer (==, !=, <, <=, >, >=) for å teste likhet og rekkefølge mellom verdier; hver sammenligning evalueres til True eller False.

Likhet — ==

Sjekker om to verdier er like.

12
print(5 == 5) # True print("apple" == "Apple") # False (case matters)
copy
Note
Merk

= tildeler en verdi til en variabel, mens == sammenligner to verdier.

Ulikhet — !=

Kontrollerer om to verdier er forskjellige.

12
print(5 != 3) # True print("cat" != "cat") # False
copy

Større enn — >

Sant hvis venstre verdi er strengt større enn høyre.

12
print(7 > 9) # False print(12 > 3) # True
copy

Mindre enn — <

Sann hvis venstre verdi er strengt mindre enn høyre.

12
print(2 < 10) # True print("a" < "b") # True (lexicographic order)
copy

Større enn eller lik — >=

Sann hvis venstre verdi er større eller lik høyre.

12
print(7 >= 7) # True print(4 >= 9) # False
copy

Mindre enn eller lik — <=

Sann hvis venstre verdi er mindre eller lik høyre.

12
print(10 <= 9) # False print(5 <= 5) # True
copy

Kjedede sammenligninger

Python lar deg skrive intervaller på en naturlig måte: 0 < x < 10 betyr "x er større enn 0 og mindre enn 10". I bakgrunnen oppfører det seg som (0 < x) and (x < 10).

123
x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
copy

Dette gir en ryddig lesbarhet og unngår gjentakelse av x.

Flyttallsnyanse (små avrundingsfeil)

Noen desimaler (som 0.1) kan ikke representeres nøyaktig i binær. Derfor kan streng likhet på flyttall gi overraskende resultater.

1
print(0.1 + 0.2 == 0.3) # False in many environments
copy

Ved sammenligning av flyttall for "likhet", bør toleransesjekk foretrekkes.

12
import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
copy

Du sier ikke "nøyaktig lik", du sier "nær nok".

Sammenligning av strenger (store og små bokstaver, rekkefølge)

Strengsammenligninger er store- og småbokstavfølsomme og leksikografiske (tegn for tegn i Unicode-rekkefølge).

12
print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
copy

For skriftuavhengige sammenligninger, normaliser begge sider først.

12
s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
copy

1. Fyll inn med True eller False:

2. Hvilket enkelt uttrykk sjekker korrekt at x er mellom 1 og 5 inkludert (ved bruk av kjeding)?

3. Hvilken strengsammenligning er True?

question-icon

Fyll inn med True eller False:

5 == 5
3 < 2

9 >= 9

"A" == "a"

0 < 7 <= 7

Click or drag`n`drop items and fill in the blanks

question mark

Hvilket enkelt uttrykk sjekker korrekt at x er mellom 1 og 5 inkludert (ved bruk av kjeding)?

Select the correct answer

question mark

Hvilken strengsammenligning er True?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 2
some-alt