Zusammengesetzte Bedingungen
Wir betrachten nochmals das Beispiel mit den beiden Würfeln.
Aufgabe 1: Andere Ausgaben
Eigentlich würden die meisten Leute das aber anders formulieren:
"Es gibt zwei Fälle:- Falls es ein Pasch ist UND es ist kein Sechserpasch, dann schreibe: "Das ist ja nur ein gewöhnliches Pasch""
- Falls es ein Pasch ist UND es ist ein Sechserpasch, dann schreibe: "Hurra, es ist ein Sechserpasch."
Neben and
für "UND" und not
für "NICHT"
gibt es auch noch or
für "ODER".
Man nennt die Verknüpfungen and
, or
und
not
auch Boolesche Operatoren. Der Namensgeber
war der englische Mathematiker George Boole (1815-1864), der sich mit
bereits mit solchen Verknüpfungen beschäftigte, als noch kaum jemand
an Computer gedacht hat. Die Booleschen Operatoren tauchen auch in der
Schaltlogik auf; auf inf-schule.de gibt es dazu einen eigenen
Abschnitt.
Man kann auch mehr als zwei Bedingungen mit diesen Operatoren kombinieren. Manchmal können Klammern nötig werden, um den Zusammenhang richtig zu formulieren, wie zum Beispiel im folgenden Beispiel:
Wir nehmen hierfür an, es gäbe ein Spiel, bei dem ein Sechserpasch und auch ein Dreierpasch ganz wichtig für den Spielverlauf wären und beide als "Super-Wurf" bezeichnet würden. Für einen Super-Wurf muss man zum einen natürlich einmal ein Pasch würfeln. UND dann muss aber zusätzlich noch die Bedingung erfüllt sein: Diese besteht wiederum aus zwei Teilbedingungen: einer der Würfel muss eine 3 zeigen ODER er muss eine 6 zeigen.
Die letzten zwei Teilbedingungen werden mit einer Klammer zusammengeklammert, praktisch genauso wie in der Mathematik bei der Rechenaufgabe $3 \cdot (5+7)$ die Zahlen 5 und 7. Setzt man in der Mathematik keine Klammern, dann gilt die berühmte "Punkt-vor-Strich-Regel". In Python gilt dienot
-vor-and
-vor-or
-Regel. Es
empfiehlt sich aber, im Zweifel Klammern zu setzen, auch der besseren
Lesbarkeit wegen.