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

bookSammenligningsoperatorer

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.

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

= tildeler en værdi til en variabel, mens == sammenligner to værdier.

Ulighed — !=

Kontrollerer om to værdier er forskellige.

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

Større end — >

Sand, hvis venstre værdi er strengt større end højre.

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

Mindre end — <

Sand, hvis venstre værdi er strengt mindre end højre.

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

Større end eller lig med — >=

Sand, hvis venstre værdi er større eller lig med højre.

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

Mindre end eller lig med — <=

Sand, hvis venstre værdi er mindre eller lig med højre.

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

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).

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

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.

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

Ved sammenligning af flydende tal for "lighed" bør en tolerancekontrol foretrækkes.

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

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).

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

For case-insensitive checks, normalize begge sider først.

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

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?

question-icon

Udfyld felterne 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 udtryk kontrollerer korrekt, at x er mellem 1 og 5 inklusive (ved brug af kædning)?

Select the correct answer

question mark

Hvilken strengsammenligning er sand?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

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.

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

= tildeler en værdi til en variabel, mens == sammenligner to værdier.

Ulighed — !=

Kontrollerer om to værdier er forskellige.

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

Større end — >

Sand, hvis venstre værdi er strengt større end højre.

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

Mindre end — <

Sand, hvis venstre værdi er strengt mindre end højre.

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

Større end eller lig med — >=

Sand, hvis venstre værdi er større eller lig med højre.

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

Mindre end eller lig med — <=

Sand, hvis venstre værdi er mindre eller lig med højre.

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

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).

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

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.

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

Ved sammenligning af flydende tal for "lighed" bør en tolerancekontrol foretrækkes.

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

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).

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

For case-insensitive checks, normalize begge sider først.

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

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?

question-icon

Udfyld felterne 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 udtryk kontrollerer korrekt, at x er mellem 1 og 5 inklusive (ved brug af kædning)?

Select the correct answer

question mark

Hvilken strengsammenligning er sand?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 2
some-alt