Python Tutorial [10/24] – Die Python if Anweisung

Die Python if Anweisung hilft uns, etwas Abwechslung in unsere Programme zu bringen. Bisher war die Python Programmierung noch nicht allzu spannend, da unsere Programme lediglich schrittweise von oben nach unten durchgelaufen sind. Durch die sogenannten if Anweisungen, machen wir nun den ersten Schritt in das Thema Kontrollstrukturen, mithilfe derer wir Entscheidungen innerhalb unserer Programme treffen können. Was das konkret in der Praxis bedeutet, wirst du jetzt in den kommenden Zeilen herausfinden.

Inhaltsverzeichnis

1. Fallunterscheidungen

Wie bereits erwähnt, laufen unsere Programme, die wir basierend auf den vergangenen Blogbeiträgen geschrieben haben, lediglich von oben nach unten. Das bedeutet, dass jede unserer Anweisungen der Reihe nach bis einschließlich der letzten Anweisung durchgeführt und das Programm somit im Anschluss beendet wird.

Was allerdings in nahezu jedem Programm benötigt wird, um eine ansprechende Logik zu programmieren, sind sogenannte Fallunterscheidungen. Dafür brauchen wir in der Python Programmierung ein Werkzeug, das uns ermöglicht, innerhalb unseres Programms Verzweigungen einzubauen.

Diese sollen etwa ermöglichen: „Wenn eine bestimmte Bedingung erfüllt ist, soll X gemacht werden, wenn diese Bedingung hingegen nicht erfüllt ist, soll Y gemacht werden.“
python kurs produktbox einzeln

NEU: Python Programmieren Masterkurs

Gefällt dir der Python Crashkurs bisher? Falls ja, dann haben wir gute Nachrichten für dich! Der Python Crashkurs ist nur der Anfang. Wir haben für dich einen umfassenden Videokurs entwickelt, in welchem du Python von 0 an Schritt für Schritt lernst.

Im Kurs sind über 15 Stunden exklusives Videomaterial, zahlreiche Übungsaufgaben und Praxisprojekte inkl. Musterlösungsvideos und übersichtliche Zusammenfassungen in Textform enthalten.

Mehr Informationen

2. Beispiel einer Python if Anweisung

Um das Ganze besser verstehen zu können, sehen wir uns zunächst einmal ein Beispiel an.

Angenommen, wir möchten ein Programm schreiben, in welchem der Nutzer sein Alter eingeben soll. Dieses soll anschließend in einer Variable zwischengespeichert werden, damit im nächsten Schritt überprüft werden kann, ob der Nutzer jünger ist als 18 Jahre. Sollte dies der Fall sein, möchten wir in unserem Programm die Nachricht „Achtung, der Nutzer ist jünger als 18“ ausgeben lassen.

Für die Umsetzung fordern wir zunächst den Nutzer zur Eingabe seines Alters auf:

abfrage des alters

Im nächsten Schritt prüfen wir, ob der Nutzer jünger ist als 18 Jahre. Und nur wenn das der Fall ist, soll der Text „Achtung, der Nutzer ist jünger als 18“ auf der Konsole ausgegeben werden. Falls er 18 Jahre oder älter ist, soll hingegen nichts passieren.

An dieser Stelle benötigen wir in Python eine if Anweisung. Dafür schreibt man zunächst das Schlüsselwort „if“, gefolgt von der Bedingung, die wir uns mithilfe der Vergleichsoperatoren, die wir bereits im vergangenen Beitrag verwendet haben, zusammenstellen. In unserem Fall würde die Bedingung folgendermaßen aussehen:

python if anweisung mit bedingung

Anschließend setzen wir einen Doppelpunkt und sehen dann beim Drücken der Enter-Taste, dass PyCharm uns den Cursor automatisch etwas einrückt.

Der Grund dafür ist, dass sämtliche Anweisungen, die nun zu dieser if Anweisung gehören sollen, eingerückt und darunter geschrieben werden müssen. In unserem Beispiel möchten wir lediglich einen Text ausgeben, weshalb wir die folgende Zeile schreiben:

Block der if Anweisung

Hiermit haben wir bereits unsere erste if-Anweisung in Python formuliert! Damit du den Aufbau und die Funktionsweise nochmals nachvollziehen kannst, gehen wir diese noch einmal Schritt für Schritt durch.

Aufbau der Python if Anweisung:

  1. 1
    Das Schlüsselwort „if“ leitet eine if Anweisung ein
  2. 2
    Direkt danach folgt die Bedingung, mit der man definiert, unter welchen Umständen der Codeblock der if Anweisung ausgeführt werden soll
  3. 3
    Anschließend folgt ein Doppelpunkt und darunter eingerückt der Codeblock

Wichtig hierbei ist, dass das Ergebnis der Bedingung einem Wahrheitswert entspricht. Das bedeutet, es muss als True oder False interpretiert werden können.

Wenn die Bedingung der if Anweisung nun wahr ist, also als „True“ ausgewertet wird, wird der Block der if Anweisung ausgeführt. Dieser setzt sich aus allen Anweisungen zusammen, die direkt unterhalb der if Anweisung eingerückt stehen. In unserem Fall besteht er aus einer einzigen Anweisung, nämlich der, in welcher wir die print-Funktion aufrufen.

Führen wir das Programm nun einmal aus und geben testweise die Zahl 16 als Alter ein:

beispielhafte eingabe

Wie du siehst, wird uns auf der Konsole ausgegeben „Achtung, der Nutzer ist jünger als 18“.

Das Programm ist also in die if Anweisung gesprungen, da diese als True ausgewertet wurde, weil der Wert, der in der Variable age gespeichert wurde, tatsächlich kleiner als 18 ist. Und da die Bedingung unserer if Anweisung True ergeben hat, wird ihr Codeblock auch ausgeführt.

Führen wir nun einmal erneut das Programm aus und geben diesmal die Zahl 19 als Alter ein:

beispielhafte eingabe 2

Das Programm wird nun ohne jegliche Ausgabe direkt beendet. Das liegt daran, dass die Bedingung als False ausgewertet wurde, da 19 schließlich nicht kleiner ist als 18. Deshalb werden auch sämtliche Anweisungen, die eingerückt unterhalb der Python if Anweisung stehen, ausgelassen.

Da nun keine weiteren Zeilen Code folgen, wird das Programm direkt beendet.

Damit wir den Effekt besser sehen können, rufen wir noch eine zweite print-Funktion auf:

erweitertes programm

Wie du sehen kannst, habe ich diese Anweisung im Code nicht mehr eingerückt. Dadurch ist sie auch nicht mehr Teil der if Anweisung und wird deshalb, ohne an eine Bedingung geknüpft zu sein, in jedem Fall ausgeführt.

Alle Anweisungen, die wir jedoch unterhalb der if Anweisung eingerückt schreiben, gehören noch zu dieser:

erweiterte python if anweisung

Führen wir das Programm an dieser Stelle also noch einmal aus und geben als Alter die Zahl 15 ein:

erneute programm ausführung

Wie du siehst, wird der ganze Block der if Anweisung ausgeführt, da die Bedingung True ergibt. Zu guter Letzt wird noch unser „Programmende“ ausgegeben.

Wenn wir das Programm nun erneut ausführen und diesmal die Zahl 24 eingeben, stellen wir fest, dass die Anweisungen, die zur if Anweisung gehören, übersprungen werden. Der Grund hierfür liegt nun wieder daran, dass die Bedingung als False ausgewertet wird und es somit im Programm direkt weiter geht. Es wird also noch die print-Funktion aufgerufen, die uns schlussendlich „Programmende“ auf der Konsole ausgibt.

An dieser Stelle sollten das Prinzip und die Funktionsweise nun klarer geworden sein. Solltest du dir allerdings noch nicht allzu sicher damit sein, ist es ratsam, den Beitrag nochmals durchzugehen oder das Video dazu anzusehen, da es sich bei der Python if Anweisung um ein absolutes Grundkonstrukt handelt, dass du immer wieder in deinen Programmen benötigen wirst.

Im nächsten Beitrag werden wir die if Anweisungen noch weiter ausbauen, wodurch dir noch mehr Möglichkeiten zur Umsetzung deiner Programme zur Verfügung stehen werden!

python kurs produktbox einzeln

NEU: Python Programmieren Masterkurs

Gefällt dir der Python Crashkurs bisher? Falls ja, dann haben wir gute Nachrichten für dich! Der Python Crashkurs ist nur der Anfang. Wir haben für dich einen umfassenden Videokurs entwickelt, in welchem du Python von 0 an Schritt für Schritt lernst.

Im Kurs sind über 15 Stunden exklusives Videomaterial, zahlreiche Übungsaufgaben und Praxisprojekte inkl. Musterlösungsvideos und übersichtliche Zusammenfassungen in Textform enthalten.

Mehr Informationen