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:
elifhängt an einifweitere Bedingungen an.
Python prüft von oben nach unten und führt nur den ersten wahren Zweig aus.
Danach endet die Kette – weitereelifs undelsewerden 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.")
| Punkte | Welcher Zweig? | Ausgabe |
|---|---|---|
| 95 | >= 90 | Sehr gut |
| 75 | >= 70 | Gut gemacht |
| 55 | >= 50 | Bestanden |
| 40 | else | Versuch … |
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
Weitere Bedingung in einer if-Kette. Sonst, wenn ...
Mehrere moegliche Faelle klar trennen – oft mit if/elif/else.
Was passiert im Computer?
ifprüfen.- True → Block ausführen → fertig mit der Kette.
- False → erstes
elifprüfen. - False → nächstes
elif. - Nichts true →
else(falls vorhanden). - 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
| Fehler | Hinweis |
|---|---|
| falsche Reihenfolge der Grenzen | hohe Hürden zuerst bei Noten |
elif ohne if davor | SyntaxError |
else in der Mitte | else gehört ans Ende |
mehrere getrennte if statt Kette | können mehrere Blöcke laufen |
| vergessener Doppelpunkt | elif 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.
elsefängt den Rest (optional).- Ideal für Stufen, Noten, Menüs.
- Getrennte
ifs können mehrere Ausgaben erzeugen – Kette nicht.
Mini-Quiz
- Was bedeutet elif?
- Warum hohe Grenzen zuerst bei Noten?
- Ist else Pflicht?
Loesungen
- else if / sonst wenn.
- Sonst fangen breite Bedingungen alles ab.
- Nein, aber oft praktisch.
elif sitzt! Als Nächstes: verschachtelte Bedingungen.