If-Statements#

Unsere Agenten sind bisher ziemlich unsensibel. Sie führen starr ihr (Verhaltens-)Programm aus, ohne auf besondere Bedingungen der aktuellen Situation zu reagieren. In den Übungsaufgaben des letzten Kapitels sind unsere z.B. Agenten im kompletten Blindflug über die Straße geheizt. Das wollen wir in diesem Kapitel ändern! Wir lernen nun, wie wir unseren Agenten bzw. unserem gesamten Computerprogramm die Augen öffnen, das Wahrnehmen und situationsspezifishe Handeln beibringen. Was wir dafür brauchen sind sogenannte If-Statements.

If-Statements geben an, was im Programm gemacht werden soll, wenn eine bestimmte Bedingung erfüllt ist. Damit erlauben sie uns, den Programmablauf mittels Wenn-Dann-Aussage zu steuern: Wenn dieser Fall eintritt, dann passiert das und das. Wenn X, dann Y. Wenn es Pizza gibt, dann freue ich mich. Wenn zu viele Nachbarn nicht meiner Gruppe angehören, dann ziehe ich um. Wenn vor mir ein Auto fährt, dann bremse ich ab.

Wie sehen solche If-Statements in Python aus? If-Statements kann man sich auch in Python tatsächlich wie Wenn-Dann-Sätze vorstellen, die in Python auch aus ungefähr denselben Bestandteilen in wie Wenn-Dann-Sätze in der Alltagssprache bestehen. If-Statements bestehen immer mindestens aus einem Wenn-Teil und einem Dann-Teil.

  • Wenn-Teil: Der Wenn-Teil ist die Bedingung bzw. Aussage, die erfüllt bzw. wahr sein muss, damit der Dann-Teil eintritt bzw. ausgeführt wird. In Python formulieren wir die Bedingung als sogenannten Boolschen Ausdruck. Das sind Aussagen bzw. Ausdrücke, die immer entweder eindeutig wahr oder falsch sind.

  • Dann-Teil: Der Dann-Teil ist das Ereignis, das eintritt, wenn die Bedingung des Wenn-Teils erfüllt ist. In Python kann das praktisch jegliche Form von Code sein, welcher eben immer nur genau dann ausgeführt wird, wenn der Boolsche Ausdruck wahr ist.

Die einfachste Form eines If-Statements sieht in Python ganz allgemein formuliert dann so aus:

if THIS_STATEMENT_IS_TRUE: # Wenn-Teil
    DO_THAT                # Dann-Teil

Das If-Statement beginnt mit dem Wenn-Teil, welches durch das Schlüsselwort if eingeleitet wird. Nach dem einleitenden Schlüsselwort if folgt eine Aussage bzw. ein boolscher Ausdruck, welcher durch Python darauf hin untersucht wird, ob er wahr oder falsch ist. Ist die Aussage wahr, dann wird der Code, der nach dem Doppelpunkt in der nächsten Zeile eingerückt steht, ausführt.

Bevor wir uns nun wirklich anschauen, wie und wo man If-Statements in Python am besten verwendet und was man damit alles für Möglichkeiten gibt, müsen wir uns zunächst einem ganz bestimmten, aber sehr zentralen Bestandteil der If-Statements widmen: den Aussagen bzw. den boolschen Ausdrücken des Wenn-Teils. Wir schauen uns also nun all das an, was oben an Stelle des Platzhalters THIS_STATEMENT_IS_TRUE stehen könnte. In diesem Teil des If-Statements spielt sich im wahrsten Sinne des Wortes die Logik von If-Statements ab.