• Home
  • |
  • Blog
  • |
  • Python Tutorial [11/24] – Die Python elif und else Zweige

Python Tutorial [11/24] – Die Python elif und else Zweige

Zuletzt aktualisiert: Juni 26, 2023

Im heutigen Blogartikel werden wir in Python elif und else Zweige kennenlernen, mithilfe derer wir unsere if Anweisungen, die ich dir bereits im letzten Artikel vorgestellt habe, erweitern können.

Inhaltsverzeichnis

1. Problemstellung bei den bisherigen if Anweisungen

Sehen wir uns zu Beginn noch einmal das Beispiel an, das wir bereits aus dem Beitrag zur if-Anweisung kennen und gehen dieses nochmals kurz durch:

bisherige if anweisungen

Zuerst fragen wir das Alter des Nutzers ab. Anschließend kommen wir zur if Anweisung, in welcher wir durch die Bedingung „age < 18“ prüfen, ob der Nutzer jünger als 18 ist. Falls dies der Fall ist, wird der Block der if Anweisung ausgeführt, der eingerückt unterhalb von dieser steht.

Zum Schluss wird noch die Zeile „Programmende“ ausgegeben.

Ist der Nutzer hingegen 18 Jahre oder älter, überspringt das Programm den Block der if Anweisung und gibt die Zeile „Programmende“ direkt auf der Konsole aus.

Angenommen, wir möchten nun, dass das Programm weiterhin so funktioniert wie bisher, aber im Fall, dass der Nutzer 18 Jahre oder älter ist, den Satz „Der Nutzer ist volljährig“ ausgeben lassen.

Wenn er also unter 18 Jahre alt ist, soll weiterhin ausgegeben werden „Achtung, der Nutzer ist jünger als 18“. Ist er hingegen 18 Jahre oder älter, möchten wir den Satz „Der Nutzer ist volljährig“ ausgeben lassen.

Nach unserem bisherigen Wissensstand würde uns nun wahrscheinlich die Idee kommen, unterhalb der if Anweisung außerhalb des Blocks folgende Zeile Code zu schreiben:

illustration der Problemstellung

Führen wir das Programm an dieser Stelle aus und geben nun ein Alter über 18 Jahren ein, wird korrekterweise der Satz „Der Nutzer ist volljährig“ ausgegeben. Das Problem an dieser Stelle ist allerdings, dass der Text fälschlicherweise auch dann ausgegeben wird, wenn wir ein Alter unter 18 Jahren in das Programm eingeben.

2. Der else Zweig in Python

Um dieses Problem zu lösen, können wir unsere if Anweisungen um den sogenannten else Zweig erweitern. Im Code setzen wir das folgendermaßen um:

python else zweig

Man hat also auch die Möglichkeit, unterhalb des Schlüsselwortes „else“ innerhalb des eingerückten Blocks beliebig viele Anweisungen zu platzieren. Diese Anweisungen werden nur dann ausgeführt, wenn die Bedingung der if Anweisung False ergibt.

Zusammengefasst: Wenn die Bedingung wahr ist, führt das Programm den Block aus, der sich eingerückt unter dem Schlüsselwort „if“ befindet und überspringt den else Block. Ist die Bedingung jedoch False, überspringt das Programm den if Block und führt stattdessen den else Block aus.

Wichtig: Das Schlüsselwort else sollte auf der gleichen Höhe stehen wie das Schlüsselwort if, auf das es sich bezieht.

Wenn wir das Programm nun ausführen, sehen wir, dass es so funktioniert, wie wir es uns vorstellen:

beispieleingabe 1
beispieleingabe 2

3. Der Python elif Zweig

Eine weitere Möglichkeit, die if Anweisung zu erweitern, bieten uns in Python elif Zweige.

Durch diese können wir sogar mehrere Bedingungen innerhalb einer if Anweisung abfragen.

Nun könnten wir unser aktuelles Beispiel etwa so erweitern, dass das Programm nicht nur prüft, ob der Nutzer jünger als 18 Jahre alt ist, sondern auch, ob er genau 18 ist. Die Umsetzung gelingt uns in Python mit einem elif Zweig. Hierzu schreiben wir unterhalb der if Anweisung auf der gleichen Höhe das Schlüsselwort „elif“ und anschließend die Bedingung „age == 18:“. Nun setzen wir noch den Codeblock, der ausgeführt wird, falls der Nutzer genau 18 Jahre alt ist, eingerückt, darunter:

python elif zweig beispiel

Das Programm funktioniert nun folgendermaßen:

  1. 1
    Zuerst liest es das Alter des Nutzers ein.
  2. 2
    Danach prüft es, ob der Nutzer jünger als 18 ist.
  3. 3
    Falls ja, gibt es den Satz „Achtung, der Nutzer ist jünger als 18“ aus.In diesem Fall würde das Programm die elif und else Zweige überspringen.
  4. 4
    Sollte er allerdings älter als 18 Jahre sein, prüft es im nächsten Schritt die Bedingung des nachfolgenden elif Zweigs. In diesem Fall, ob der Nutzer exakt 18 Jahre alt ist.
  5. 5
    Falls ja, führt es den Block des elif Zweigs aus und überspringt den else Zweig.
  6. 6
    Falls er auch nicht exakt 18 ist, führt das Programm nur den else Zweig aus.

Das „elif“ steht also für else-if und ermöglicht uns, eine weitere Bedingung zu prüfen, falls die vorherige nicht erfüllt war.

Wir können so in Python elif Zweige in beliebiger Anzahl untereinander setzen. Das bedeutet, dass wir durch einen weiteren elif Zweig ebenfalls prüfen könnten, ob der Nutzer exakt 19 ist und entsprechend darauf reagieren:

python elif zweig beispiel 2

Die Anzahl der elif Zweige, die du in Python einsetzt, spielt also keine Rolle. Wichtig ist nur zu verstehen, dass sobald eine Bedingung erfüllt ist, der zugehörige Anweisungsblock ausgeführt und alle noch folgenden Zweige übersprungen werden.

Nun weißt du, wie du in Python elif und else Zweige verwenden und damit deine Programme deutlich vielseitiger gestalten kannst. Obwohl das in der Theorie ganz logisch klingt, empfehle ich dir trotzdem an dieser Stelle, das Ganze selbst auf deinem Computer auszuprobieren. Dafür kannst du dir eigene if-else Konstrukte ausdenken, um ein Gefühl dafür zu entwickeln. Schließlich handelt es sich auch hierbei um einen Basisbaustein, den du in Python in jedem deiner Programme brauchen wirst.