Sammenligningsoperatorer
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.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= tildeler en verdi til en variabel, mens == sammenligner to verdier.
Ulikhet — !=
Kontrollerer om to verdier er forskjellige.
12print(5 != 3) # True print("cat" != "cat") # False
Større enn — >
Sant hvis venstre verdi er strengt større enn høyre.
12print(7 > 9) # False print(12 > 3) # True
Mindre enn — <
Sann hvis venstre verdi er strengt mindre enn høyre.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Større enn eller lik — >=
Sann hvis venstre verdi er større eller lik høyre.
12print(7 >= 7) # True print(4 >= 9) # False
Mindre enn eller lik — <=
Sann hvis venstre verdi er mindre eller lik høyre.
12print(10 <= 9) # False print(5 <= 5) # True
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).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
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.
1print(0.1 + 0.2 == 0.3) # False in many environments
Ved sammenligning av flyttall for "likhet", bør toleransesjekk foretrekkes.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
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).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
For skriftuavhengige sammenligninger, normaliser begge sider først.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
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?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Sammenligningsoperatorer
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.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= tildeler en verdi til en variabel, mens == sammenligner to verdier.
Ulikhet — !=
Kontrollerer om to verdier er forskjellige.
12print(5 != 3) # True print("cat" != "cat") # False
Større enn — >
Sant hvis venstre verdi er strengt større enn høyre.
12print(7 > 9) # False print(12 > 3) # True
Mindre enn — <
Sann hvis venstre verdi er strengt mindre enn høyre.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Større enn eller lik — >=
Sann hvis venstre verdi er større eller lik høyre.
12print(7 >= 7) # True print(4 >= 9) # False
Mindre enn eller lik — <=
Sann hvis venstre verdi er mindre eller lik høyre.
12print(10 <= 9) # False print(5 <= 5) # True
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).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
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.
1print(0.1 + 0.2 == 0.3) # False in many environments
Ved sammenligning av flyttall for "likhet", bør toleransesjekk foretrekkes.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
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).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
For skriftuavhengige sammenligninger, normaliser begge sider først.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
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?
Takk for tilbakemeldingene dine!