Direkt zum Inhalt

Python-Anweisungen IF, ELIF und ELSE

In diesem Tutorial lernst du ausschließlich Python if else-Anweisungen kennen.
Aktualisierte 6. Aug. 2025  · 9 Min. Lesezeit

Python-Anweisungen IF, ELIF und ELSE

Wenn du Code in irgendeiner Sprache schreibst, musst du den Ablauf deines Programms kontrollieren. Das ist meistens so, wenn Entscheidungen getroffen werden müssen – du willst einen bestimmten Code ausführen, wenn eine Bedingung erfüllt ist, und einen anderen, wenn das nicht der Fall ist. In Python gibt's dafür die Anweisungenif, elif und else. In diesem Tutorial lernst du anhand eines Beispiels die einfache if-Anweisung kennen und kommst dann nach und nach zu den Anweisungen if-else und if-elif-else. Du lernst auch was über Verschachtelung und siehst ein Beispiel für verschachtelte if-Anweisungen. Lass uns loslegen...

Einfache if-Anweisung

Das ist das einfachste Beispiel für eine bedingte Anweisung. Die Syntax ist:

if(condition):
    indented Statement Block 

Der Block von Zeilen, der nach dem Doppelpunkt (:) gleich weit eingerückt ist, wird immer ausgeführt, wenn die Bedingung TRUE ist.

Python IF-, ELIF- und ELSE-Anweisungen
Quelle: Python von Programiz

Nehmen wir mal an, du gibst die Note für einen bestimmten Kurs ein. Insgesamt gibt's 100 Punkte, 50 für die Theorie und 50 für die Praxis. Du möchtest eine Fehlermeldung oder Warnung anzeigen, wenn die Punktzahl 100 überschreitet.

score_theory = 40
score_practical = 45
if(score_theory + score_practical > 100):
    print("Invalid score. Please check the input.")

# no output expected

Der Doppelpunkt (:) ist wichtig, weil er die Bedingung von den Anweisungen trennt, die nach der Auswertung der Bedingung ausgeführt werden sollen. Das ist besonders wichtig bei Anweisungen, bei denen es nur eine einzige Anweisung gibt und die Klammer ( ) nicht benutzt wird. Zum Beispiel:

score_theory = 40
score_practical = 45
if score_theory + score_practical > 100: # End of condition
    print("Invalid score. Please check the input.")

# no output expected

Die obige if-Anweisung prüft die Bedingung „if“ und stellt fest, dass die Anweisung (40 + 45 = 85) > 100 FALSCH ist, sodass die Warnung nicht angezeigt wird. Lass uns die Aussage auf WAHR setzen und schauen, was passiert:

score_theory = 50
score_practical = 55
if(score_theory + score_practical > 100):
    print("Invalid score. Please check the input.")

# Invalid score. Please check the input.

Angenommen, du möchtest noch einen Schritt weiter gehen und eine Meldung anzeigen, wenn die Gesamtpunktzahl tatsächlich im Bereich liegt, also unter 100. In so einem Fall ist die if-else-Anweisung echt praktisch.

Einzelner Test: if-else-Anweisung

Die if-else-Anweisung wird so programmiert, wie du sie in der englischen Sprache verwenden würdest. Die Syntax für die if-else-Anweisung lautet:

if(condition):
    Indented statement block for when condition is TRUE
else:
    Indented statement block for when condition is FALSE

Python IF-, ELIF- und ELSE-Anweisungen
Quelle: Python von Programiz

Lass uns mal den Code von oben durchgehen und das Problem neu definieren: Wenn du die Punkte für bestimmte Kursarbeiten zusammenrechnest, musst du die Punkte für den theoretischen und den praktischen Teil addieren, um die Gesamtpunktzahl zu erhalten. Wenn die Gesamtpunktzahl kleiner oder gleich 100 ist, soll die Meldung „Punktzahl okay” angezeigt werden, und wenn nicht, dann eine Warnung wie zuvor.

score_theory = 40
score_practical = 45
if(score_theory + score_practical > 100):
    print("Please check the input. Score exceeds total possible score.")
else:
    print("Score validated. Your total is: ", score_theory + score_practical)

# Score validated. Your total is:  85

Tipp: Wenn du nur eine Zeile Code ausführen musst und nicht mehrere Zeilen im Code nach der Bedingung, kannst du alles in derselben Zeile schreiben. Das ist keine feste Regel, sondern einfach so üblich bei Programmierern. Schreib den Code von oben so um:

score_theory = 40
score_practical = 45
# Single statement: if(condition): Statement for when condition is true
if (score_theory + score_practical > 100): print("Please check the input. Score exceeds total possible score.")
# Single statement: if(condition): Statement for when condition is false
else: print("Score validated. Your total is: ", score_theory + score_practical)

# Score validated. Your total is:  85

Jetzt stell dir mal vor, dass eine der Punktzahlen über 50 liegt, die Gesamtpunktzahl aber immer noch unter oder gleich 100 ist. Was glaubst du, würde dann passieren?

score_theory = 60
score_practical = 40
if(score_theory + score_practical > 100):
    print("Please check the input. Score exceeds total possible score.")
else:
    print("Score validated. Your total is: ", score_theory + score_practical)

# Score validated. Your total is:  100

Das ist falsch, weil du weißt, dass die Höchstgrenze für einzelne Noten in Theorie oder Praxis nicht über 50 liegen darf. Wie kann man das in Code umsetzen? Die Antwort: if-elif-else -Anweisung.

Mehrere Tests: Python if-elif-else-Anweisung

Lass uns das Problem, das wir bisher haben, mal aufschlüsseln und versuchen, es in Worte zu fassen, bevor wir uns mit dem Code beschäftigen.

  • Schritt 1. Gib die beiden Punktzahlen ein: score_theory und score_practical

  • Schritt 2. Vergewissere dich, dass keine der beiden Punktzahlen die maximal mögliche Punktzahl von 50 überschreitet. Damit ist auch das Problem gelöst, dass die Gesamtpunktzahl nicht über 100 geht. Wenn einer der beiden Werte größer als 50 ist, zeig die Warnung an und beende das Programm.

    • 2.1 Überprüfe, ob score_theory
    • 2.2 Überprüfe, ob score_practical
  • Schritt 3. Wenn keiner die Punktzahl überschreitet, zeig 'Punktzahl okay' an und beende das Programm.

# Step 1
score_theory = 60
score_practical = 20

if(score_theory > 50):
    print("Please check the input score for 'Theory'.") # Step 2.1
elif(score_practical > 50):
    print("Please check the input score for 'Practical'.")  # Step 2.2
else:
    print("Score validated. Your total is: ", score_theory + score_practical) # Step 3

# Please check the input score for 'Theory'.

Die Syntax für die if-else-if-Anweisung sieht so aus:

if(Condition1):
    Indented statement block for Condition1
elif(Condition2):
     Indented statement block for Condition2
else:
     Alternate statement block if all condition checks above fails

Python IF-, ELIF- und ELSE-Anweisungen
Quelle: Python von Programiz

Um die Wirkung der Python-Anweisung if-elif-else wie eine einfache if-else-Anweisung zu sehen, kannst du sie wie folgt schreiben:

score_theory = 60
score_practical = 20

if(score_theory > 50):
    print("Please check the input score for 'Theory'.")
else:
    if(score_practical > 50):
        print("Please check the input score for 'Practical'.")  
    else:
        print("Score validated. Your total is: ", score_theory + score_practical)

# Please check the input score for 'Theory'.

Die elif -Anweisung macht das Schreiben von Code tatsächlich einfacher. Stell dir vor, die Problemstellung würde komplexer werden – dann könnte es schnell zum Albtraum werden, den Überblick über alle if-else-Anweisungen innerhalb einer anderen if-Anweisung zu behalten!

Lass uns noch ein bisschen an demselben Beispiel arbeiten. Stell dir jetzt vor, du möchtest mehrere Kursarbeiten im Lernpfad verfolgen, zum Beispiel: „Wissenschaft“ und „Englisch“. Die Gesamtpunktzahl für beide ist immer noch dieselbe, nämlich 100. Bei Naturwissenschaften ist es aber 50:50 zwischen Theorie und Praxis, bei Englisch eher 60:40. Könntest du die oben genannten Formate noch verwenden?

JA! Und das kannst du ganz einfach mit dem Konzept der verschachtelten if-Anweisungen machen.

Python verschachtelte if-Anweisungen

Wenn du eine if-Anweisung in einer anderen if-Anweisung hast, nennt man das in der Programmierung Verschachtelung. Es muss nicht immer eine einfache if-Anweisung sein, du kannst auch das Konzept von if-, if-else- und sogar if-elif-else-Anweisungen kombinieren, um eine komplexere Struktur zu bilden.

Lass uns den Code für das oben besprochene Beispiel schreiben:

coursework = "English"
score_theory = 53
score_practical = 35

if(coursework == "Science" or coursework == "science"):
    if(score_theory > 50):
        print("Please check the input score for 'Science: Theory'.")
    elif(score_practical > 50):
            print("Please check the input score for 'Science: Practical'.")  
    else:
        print("Score validated for Science. Your total is: ", score_theory + score_practical)             
elif(coursework == "English" or coursework == "english"):
    if(score_theory > 60):
        print("Please check the input score for 'English: Theory'.")
    elif(score_practical > 40):
            print("Please check the input score for 'English: Practical'.")  
    else:
        print("Score validated for English. Your total is: ", score_theory + score_practical)
else: print("Coursework not recognised. Please enter score for either Science or English.")

# Score validated for English. Your total is:  88

Hast du gesehen, dass im Code oben or verwendet wird? Es wird verwendet, um „Wissenschaft“ und „Naturwissenschaften“ als denselben Kurs zu bewerten, und dasselbe gilt für „Englisch“ und „Englisch“. Du kannst logische Operatoren wie or und and verwenden, um mehrere Bedingungen miteinander zu verbinden. Du musst aber aufpassen, dass du die boolesche Ausgabe solcher kombinierten Anweisungen verstehst, um den Ablauf deines Programms richtig zu verstehen.

Wir können den Code oben so umschreiben, dass die Ergebnisse in derselben Anweisung überprüft werden. Das macht den Code allerdings schwerer zu lesen und die Anweisungen manchmal schwerer zu debuggen.

coursework = "English"
score_theory = 53
score_practical = 78

if(coursework == "Science" or coursework == "science"):
    if(score_theory > 50 or score_practical > 50):
        # Can't distinguish the error in Science: theory or Science: Practical
        print("Please check the input score for Science.")
    else: print("Score validated for Science. Your total is: ", score_theory + score_practical)             
elif(coursework == "English" or coursework == "english"):
    if(score_theory > 60 or score_practical > 40):
        # Can't distinguish the error in English: theory or English: Practical
        print("Please check the input score for English.")
    else: print("Score validated for English. Your total is: ", score_theory + score_practical)
else: print("Coursework not recognised. Please enter score for either Science or English.")

# Please check the input score for English.

Voila!

In diesem Tutorial hast du einen der wichtigsten Kontrollflussmechanismen von Python kennengelernt. Du hast mit einem Beispiel auf mehreren Ebenen gearbeitet, um die verschiedenen Varianten der einfachen if-Anweisung in Aktion zu sehen. Wenn du mehr über Python erfahren möchtest, schau dir den Kurs „Intro to Python for Data Science“ von DataCamp an.

Python IF, ELIF und ELSE – Häufig gestellte Fragen

Was ist die if-Anweisung in Python?

Die Anweisung „ if “ wird verwendet, um einen Codeblock auszuführen, wenn eine bestimmte Bedingung erfüllt ist.

Wie benutze ich die elif-Anweisung in Python?

Die Anweisung „ elif “ (kurz für „else if“) wird verwendet, um zusätzliche Bedingungen anzugeben, die nach der ersten if-Anweisung geprüft werden sollen. Wenn die Bedingung der Anweisung „ if “ falsch ist und die Bedingung der Anweisung „ elif “ wahr ist, wird der mit der Anweisung „elif“ verbundene Codeblock ausgeführt.

Kann ich mehrere elif-Anweisungen in einem einzigen if-Block haben?

Ja, du kannst mehrere „ elif “-Anweisungen in einem einzigen „ if “-Block haben.

Was ist die else-Anweisung in Python?

Mit der Anweisung „ else “ wird ein Code-Block angegeben, der ausgeführt werden soll, wenn keine der Bedingungen in den vorhergehenden Anweisungen „ if “ und „ elif “ zutrifft.

Kann ich die else-Anweisung ohne if- oder elif-Anweisungen verwenden?

Nein, die Anweisung „ else “ muss zusammen mit einer Anweisung „ if “ verwendet werden. Es kann nicht alleine benutzt werden.

Themen

Python-Kurse

Kurs

Einführung in Python

4 Std.
6.5M
Lerne in nur vier Stunden die Grundlagen der Datenanalyse mit Python und entdecke beliebte Python-Pakete.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Lernprogramm

if…elif…else in Python Tutorial

Lerne, wie du in Python if…elif…else-Anweisungen erstellst.
DataCamp Team's photo

DataCamp Team

Lernprogramm

Python Switch Case Statement: Ein Leitfaden für Anfänger

Erforsche Pythons match-case: eine Anleitung zu seiner Syntax, Anwendungen in Data Science und ML sowie eine vergleichende Analyse mit dem traditionellen switch-case.
Matt Crabtree's photo

Matt Crabtree

Lernprogramm

So kürzt man eine Zeichenfolge in Python: Drei verschiedene Methoden

Lerne die Grundlagen zum Entfernen von führenden und nachfolgenden Zeichen aus einer Zeichenfolge in Python.
Adel Nehme's photo

Adel Nehme

Lernprogramm

Python .append() und .extend() Methoden Tutorial

Lerne, wie du mit den Methoden .append() und .extend() Elemente zu einer Liste hinzufügst.
DataCamp Team's photo

DataCamp Team

Lernprogramm

Python-Methode list() mit Beispielen erklärt

Lerne, wie du mit der Python-Funktion index() die Position von Elementen in Listen findest.
Sejal Jaiswal's photo

Sejal Jaiswal

Lernprogramm

Wie man in Python auf 2 Dezimalstellen rundet

Lerne, wie du in Python eine Zahl auf zwei Dezimalstellen rundest, um die Genauigkeit zu verbessern, indem du Techniken wie round(), format() und String-Formatierungstechniken verwendest.
Allan Ouko's photo

Allan Ouko

Mehr anzeigenMehr anzeigen