Sammenligningsoperatorer
Sammenligninger gør det muligt for dit program at stille ja/nej-spørgsmål om værdier:
- Er disse ens?
 - Er denne større?
 - Falder dette tal inden for et interval?
 
En sammenligning returnerer en boolesk værdi (True eller False) og danner grundlaget for if/while-logik.
Det grundlæggende
Python tilbyder seks sammenligningsoperatorer (==, !=, <, <=, >, >=) til at teste lighed og rækkefølge mellem værdier; hver sammenligning evalueres til True eller False.
Lighed — ==
Kontrollerer om to værdier er ens.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= tildeler en værdi til en variabel, mens == sammenligner to værdier.
Ulighed — !=
Kontrollerer om to værdier er forskellige.
12print(5 != 3) # True print("cat" != "cat") # False
Større end — >
Sand, hvis venstre værdi er strengt større end højre.
12print(7 > 9) # False print(12 > 3) # True
Mindre end — <
Sand, hvis venstre værdi er strengt mindre end højre.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Større end eller lig med — >=
Sand, hvis venstre værdi er større eller lig med højre.
12print(7 >= 7) # True print(4 >= 9) # False
Mindre end eller lig med — <=
Sand, hvis venstre værdi er mindre eller lig med højre.
12print(10 <= 9) # False print(5 <= 5) # True
Kædede sammenligninger
Python tillader naturlig skrivning af intervaller:
0 < x < 10 betyder "x er større end 0 og mindre end 10".
I baggrunden opfører det sig som (0 < x) and (x < 10).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
Dette læses let og undgår gentagelse af x.
Flydende decimalnuancer (små afrundingsfejl)
Nogle decimaltal (som 0.1) kan ikke repræsenteres præcist i binær. Derfor kan streng lighed på flydende tal give uventede resultater.
1print(0.1 + 0.2 == 0.3) # False in many environments
Ved sammenligning af flydende tal for "lighed" bør en tolerancekontrol foretrækkes.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
Her angives ikke "præcis lig med", men "tilstrækkeligt tæt på".
Sammenligning af strenge (store/små bogstaver og rækkefølge)
Strengesammenligninger er store/små bogstav-følsomme og leksikografiske (tegn for tegn i Unicode-rækkefølge).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
For case-insensitive checks, normalize begge sider først.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
1. Udfyld felterne med True eller False:
2. Hvilket enkelt udtryk kontrollerer korrekt, at x er mellem 1 og 5 inklusive (ved brug af kædning)?
3. Hvilken strengsammenligning er sand?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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
Stryg for at vise menuen
Sammenligninger gør det muligt for dit program at stille ja/nej-spørgsmål om værdier:
- Er disse ens?
 - Er denne større?
 - Falder dette tal inden for et interval?
 
En sammenligning returnerer en boolesk værdi (True eller False) og danner grundlaget for if/while-logik.
Det grundlæggende
Python tilbyder seks sammenligningsoperatorer (==, !=, <, <=, >, >=) til at teste lighed og rækkefølge mellem værdier; hver sammenligning evalueres til True eller False.
Lighed — ==
Kontrollerer om to værdier er ens.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= tildeler en værdi til en variabel, mens == sammenligner to værdier.
Ulighed — !=
Kontrollerer om to værdier er forskellige.
12print(5 != 3) # True print("cat" != "cat") # False
Større end — >
Sand, hvis venstre værdi er strengt større end højre.
12print(7 > 9) # False print(12 > 3) # True
Mindre end — <
Sand, hvis venstre værdi er strengt mindre end højre.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Større end eller lig med — >=
Sand, hvis venstre værdi er større eller lig med højre.
12print(7 >= 7) # True print(4 >= 9) # False
Mindre end eller lig med — <=
Sand, hvis venstre værdi er mindre eller lig med højre.
12print(10 <= 9) # False print(5 <= 5) # True
Kædede sammenligninger
Python tillader naturlig skrivning af intervaller:
0 < x < 10 betyder "x er større end 0 og mindre end 10".
I baggrunden opfører det sig som (0 < x) and (x < 10).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
Dette læses let og undgår gentagelse af x.
Flydende decimalnuancer (små afrundingsfejl)
Nogle decimaltal (som 0.1) kan ikke repræsenteres præcist i binær. Derfor kan streng lighed på flydende tal give uventede resultater.
1print(0.1 + 0.2 == 0.3) # False in many environments
Ved sammenligning af flydende tal for "lighed" bør en tolerancekontrol foretrækkes.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
Her angives ikke "præcis lig med", men "tilstrækkeligt tæt på".
Sammenligning af strenge (store/små bogstaver og rækkefølge)
Strengesammenligninger er store/små bogstav-følsomme og leksikografiske (tegn for tegn i Unicode-rækkefølge).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
For case-insensitive checks, normalize begge sider først.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
1. Udfyld felterne med True eller False:
2. Hvilket enkelt udtryk kontrollerer korrekt, at x er mellem 1 og 5 inklusive (ved brug af kædning)?
3. Hvilken strengsammenligning er sand?
Tak for dine kommentarer!