Vergleichsoperatoren und logische Operatoren
Vergleichsoperatoren
Was sind Vergleichsoperatoren, und wie funktionieren sie?
Wir verwenden Vergleichsoperatoren um zwei Werte miteinander zu vergleichen; beispielsweise um in for
-Schleifen oder if
-Verzweigungen eine Bedingung auszudrücken.
Dies tun wir jeweils in Form einer Ja-/Nein-Frage; z.B.
- Ist 5 grösser als 4? Ja.
- Ist 10 kleiner als 20? Nein.
- Ist 100 gleich 100? Ja.
Im Normalfall steht auf mindestens einer Seite eines solchen Vergleichs natürlich eine Variable, deren Wert aktuellen Wert wir überprüfen wollen. So könnten wir zum Beispiel prüfen:
- Ist
a
grösser als 4? - Ist
b
kleiner als20
? - Ist
x
gleichy
?
Das Ergebnis solcher Vergleichsausdrücke hängt dann vom aktuellen Wert der entsprechenden Variable(n) ab, ist aber immer entweder ja (der Vergleich trifft zu) oder nein (der Vergleich trifft nicht zu). In Python verwenden wir für die Werte ja und nein (respektive, wahr oder falsch) die zwei speziellen Wörter True
und False
.
Nachfolgend finden Sie eine Liste der Vergleichsoperatoren, die uns in Python zur Verfügung stehen:
Operator | Bedeutung | Kommentar, Beispiel |
---|---|---|
> | grösser als | 5 > 1 ist True 1 > 5 ist False 5 > 5 ist False |
< | kleiner als | 1 < 5 ist True 5 < 1 ist False 5 < 5 ist False |
>= | grösser oder gleich | 6 >= 5 ist True 5 >= 5 ist True 5 >= 6 ist False |
<= | kleiner oder gleich | 5 <= 6 ist True 5 <= 5 ist True 6 <= 5 ist False |
== | gleich | 5 == 5 ist True "hallo" == "hallo" ist True 6 == 5 ist False "hallo" == "HALLO" ist False Achtung: Im Gegensatz zur Zuweisung (z.B. a = 5 , um der Variable a den Wert 5 zuzuweisen) verwenden wir beim Vergleichen zwei Gleichheitszeichen (== )!1 |
Logische Operatoren
Was sind logische Operatoren und wie funktionieren sie?
Wir verwenden logische Operatoren, um mehrere Vergleichsausdrücke wiederum in Form einer Ja-/Nein-Frage miteinander zu kombinieren. So könnte wir beispielsweise prüfen wollen:
- Ist
x
grösser als 10 und isty
kleiner als 0? - Ist
richtung
gleich"rechts"
oder gleich"links"
?2 - Ist
temperatur
kleiner als 5 oderregenwahrscheinlichkeit
grösser als0.8
?
Achtung: Das oder versteht sich nicht als entweder/oder, sondern als und/oder! Im letzten Beispiel ist die Antwort auch dann ja, wenn sowohl temperatur
kleiner als 5 als auch regenwahrscheinlichkeit
grösser als 0.8 ist.
Operator | Bedeutung | Kommentar, Beispiel |
---|---|---|
and | und | Ist genau dann True , wenn sowohl die linke als auch die rechte Seite True sind.1 == 1 and 6 > 5 ist True 1 == 1 and 5 > 6 ist False |
or | oder | Ist genau dann True , wenn mindestens die linke oder die rechte Seite True ist.1 == 1 or 6 > 5 ist True 1 == 1 or 5 > 6 ist True 1 == 2 or 5 > 6 ist False |
Für zwei Variablen a
und b
können wir daraus folgende Wahrheitstabelle ableiten:
a | b | a and b | a or b |
---|---|---|---|
True | True | True | True |
True | False | False | True |
False | True | False | True |
False | False | False | False |
Footnotes
-
Sie können sich die Zuweisung als Befehl vorstellen:
a = 5
heisst, wir befehlen dem Computer, die Variablea
auf den Wert5
zu setzen. Ein Vergleichsoperator ist hingegen eine Prüfung: Mita == 5
prüfen wir, oba
den Wert5
hat. Wir könnten die Befehle auch aneinanderreihen: Wenn wir zuerst den Befehla = 5
ausführen, dann müsste die Prüfunga == 5
anschliessendTrue
ergeben. Praktisch macht diese Prüfung aber natürlich wenig Sinn, wenn wir unmittelbar vorher explizit die Zuweisung vornehmen. ↩ -
Auch dabei handelt es sich um Ja-/Nein-Frage: Die Antwort ist ja, wenn
richtung
entweder gleich"links"
oder gleich"rechts"
ist, und nein, wenn Sie irgendeinen anderen Wert hat (z.B."hoch"
oder"runter"
). ↩