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
agrösser als 4? - Ist
bkleiner als20? - Ist
xgleichy?
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 True1 > 5 ist False5 > 5 ist False |
< | kleiner als | 1 < 5 ist True5 < 1 ist False5 < 5 ist False |
>= | grösser oder gleich | 6 >= 5 ist True5 >= 5 ist True5 >= 6 ist False |
<= | kleiner oder gleich | 5 <= 6 ist True5 <= 5 ist True6 <= 5 ist False |
== | gleich | 5 == 5 ist True"hallo" == "hallo" ist True6 == 5 ist False"hallo" == "HALLO" ist FalseAchtung: 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
xgrösser als 10 und istykleiner als 0? - Ist
richtunggleich"rechts"oder gleich"links"?2 - Ist
temperaturkleiner als 5 oderregenwahrscheinlichkeitgrö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 True1 == 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 True1 == 1 or 5 > 6 ist True1 == 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 = 5heisst, wir befehlen dem Computer, die Variableaauf den Wert5zu setzen. Ein Vergleichsoperator ist hingegen eine Prüfung: Mita == 5prüfen wir, obaden Wert5hat. Wir könnten die Befehle auch aneinanderreihen: Wenn wir zuerst den Befehla = 5ausführen, dann müsste die Prüfunga == 5anschliessendTrueergeben. 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
richtungentweder gleich"links"oder gleich"rechts"ist, und nein, wenn Sie irgendeinen anderen Wert hat (z.B."hoch"oder"runter"). ↩