Zum Hauptinhalt springen

Mehrere Möglichkeiten mit elif

Warum brauchen wir das?

Zwei Wege reichen nicht immer:

  • Note-Stufen (sehr gut / gut / bestanden / nachsitzen)
  • Menü 1 / 2 / 3 / sonst
  • kalt / mild / heiß
  • Nacht / Morgen / Nachmittag / Abend

Mit nur if/else müsstest du verschachteln oder unklar werden.
elif bedeutet else if – „sonst, wenn …“ – und baut eine Kette von Fällen.

Definition: elif

Definition – elif:
elif hängt an ein if weitere Bedingungen an.
Python prüft von oben nach unten und führt nur den ersten wahren Zweig aus.
Danach endet die Kette – weitere elifs und else werden für diesen Durchlauf nicht mehr geprüft.

if fall_a:
...
elif fall_b:
...
elif fall_c:
...
else:
...

Merksatz:

Erster Treffer gewinnt. Reihenfolge = Regeln.

Noten-Ampel

punkte = int(input("Punkte: "))
if punkte >= 90:
print("Sehr gut!")
elif punkte >= 70:
print("Gut gemacht!")
elif punkte >= 50:
print("Bestanden!")
else:
print("Versuch es noch einmal.")
PunkteWelcher Zweig?Ausgabe
95>= 90Sehr gut
75>= 70Gut gemacht
55>= 50Bestanden
40elseVersuch …

Lily: „Zuerst die strengste bzw. höchste Hürde.“
Py: „95 ist auch >= 50 – aber wir haben >= 90 früher geprüft.“
Buggy stellt >= 50 ganz nach oben – dann kommt nie „Sehr gut“.

Warum Reihenfolge zählt

punkte = 95
if punkte >= 50:
print("Bestanden")
elif punkte >= 90:
print("Sehr gut") # nie erreicht fuer 95!

95 ist schon bei >= 50 wahr. Die Kette stoppt.
„Sehr gut“ wird tot – unerreichbarer Code.

Richtige Idee bei Stufen: von eng/hoch nach breit/niedrig (oder umgekehrt mit sauber formulierten Intervallen – aber konsistent bleiben).

Neue Wörter

elifelif / else if

Weitere Bedingung in einer if-Kette. Sonst, wenn ...

Fallunterscheidungcase distinction

Mehrere moegliche Faelle klar trennen – oft mit if/elif/else.

Was passiert im Computer?

  1. if prüfen.
  2. True → Block ausführen → fertig mit der Kette.
  3. False → erstes elif prüfen.
  4. False → nächstes elif.
  5. Nichts true → else (falls vorhanden).
  6. Genau ein Block (oder keiner, wenn kein else und nichts passt).

Mentales Bild: Aufzugknöpfe von oben nach unten – der erste passende Stopp zählt, danach fährst du nicht weiter die Liste ab.

Häufige Fehler

FehlerHinweis
falsche Reihenfolge der Grenzenhohe Hürden zuerst bei Noten
elif ohne if davorSyntaxError
else in der Mitteelse gehört ans Ende
mehrere getrennte if statt Kettekönnen mehrere Blöcke laufen
vergessener Doppelpunktelif bedingung:

if-Kette vs. viele getrennte if

# Kette: maximal ein Block
if x >= 90:
print("A")
elif x >= 50:
print("B")

# Getrennt: beide koennen greifen
if x >= 90:
print("A")
if x >= 50:
print("B") # bei 95 auch!

Probiere es selbst

Experiment 1 – Temperatur

t = int(input("Temperatur: "))
if t < 10:
print("kalt")
elif t < 25:
print("ok")
else:
print("heiss")

Experiment 2 – Menü

wahl = input("1=Start, 2=Hilfe, sonst Abbruch: ").strip()
if wahl == "1":
print("Start")
elif wahl == "2":
print("Hilfe")
else:
print("Abbruch")

Experiment 3 – falsche Reihenfolge

Nimm die Noten-Ampel, tausche >= 50 nach oben und teste 95.

Experiment 4 – ohne else

Was passiert, wenn keine Bedingung passt und es kein else gibt?

Fehlerdetektiv

punkte = 95
if punkte >= 50:
print("Bestanden")
elif punkte >= 90:
print("Sehr gut")
Loesung anzeigen

Höhere Hürden zuerst:

if punkte >= 90:
print("Sehr gut")
elif punkte >= 50:
print("Bestanden")

Übungen

Level 1 – Entdecken

Zahl: negativ / null / positiv.

Loesung
z = int(input("Zahl: "))
if z < 0:
print("negativ")
elif z == 0:
print("null")
else:
print("positiv")

Level 2 – Anwenden

Score: ab 100 „Legende“, ab 50 „solid“, sonst „Anfaenger“.

Loesung
score = int(input("Score: "))
if score >= 100:
print("Legende")
elif score >= 50:
print("solid")
else:
print("Anfaenger")

Level 3 – Erweitern

Tageszeit 0–23: Nacht / Morgen / Nachmittag / Abend.

Beispiel
h = int(input("Stunde 0-23: "))
if h < 6:
print("Nacht")
elif h < 12:
print("Morgen")
elif h < 18:
print("Nachmittag")
else:
print("Abend")

Mini-Challenge

Wetter-Ansager mit mindestens 3 Stufen (z. B. nach Temperatur oder Punkten).
Erkläre: Warum läuft in einer if/elif/else-Kette nur ein Zweig?

Zusammenfassung

  • elif = weitere Fälle in einer Kette.
  • Prüfung von oben nach unten.
  • Reihenfolge ist kritisch.
  • else fängt den Rest (optional).
  • Ideal für Stufen, Noten, Menüs.
  • Getrennte ifs können mehrere Ausgaben erzeugen – Kette nicht.

Mini-Quiz

Mini-QuizWie viele Bloecke laufen in einer if/elif/else-Kette?
  1. Was bedeutet elif?
  2. Warum hohe Grenzen zuerst bei Noten?
  3. Ist else Pflicht?
Loesungen
  1. else if / sonst wenn.
  2. Sonst fangen breite Bedingungen alles ab.
  3. Nein, aber oft praktisch.

elif sitzt! Als Nächstes: verschachtelte Bedingungen.