i

Zusammengesetzte Bedingungen

Wir betrachten nochmals das Beispiel mit den beiden Würfeln.

Aufgabe 1: Andere Ausgaben

Schreibe das Programm so um, dass es bei einem "normalen" Pasch ausgibt: "Das ist ja nur ein gewöhnliches Pasch". Beim Sechserpasch soll es ausgeben: "Hurra, es ist ein Sechserpasch."

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."
Was man so auf deutsch formulieren kann, kann man ähnlich auch in Python formulieren.

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 die not-vor-and-vor-or-Regel. Es empfiehlt sich aber, im Zweifel Klammern zu setzen, auch der besseren Lesbarkeit wegen.

Aufgabe 1: Andere Klammern — andere Wirkung

Betrachte das folgende Programm, bei dem die Klammern leicht anders gesetzt sind.
Bestimme erst durch genaues Lesen des Programmtextes und dann durch Experimente, wann in diesem Programm ein "Super-Wurf" vorliegt.

Suche

v
100.102.5.4
dev.inf-schule.de/entwuerfe/python_online/fallunterscheidung/zusammengesetzte_bedingungen
dev.inf-schule.de/100.102.5.4
dev.inf-schule.de/@/page/LD7f02SO05UKwCW7

Rückmeldung geben