if und else
Warum brauchen wir das?
Mit nur if kannst du sagen: „Wenn …, dann …“
Aber oft brauchst du auch: „Sonst …“
Beispiele:
- bestanden / nicht bestanden
- richtig / falsch
- Tür auf / Tür zu
- genug Leben / Game Over
Dafür gibt es else.
Definition: else
Definition:
elsebedeutet sonst.
Derelse-Block läuft genau dann, wenn die if-Bedingung falsch (False) war.
elsehat keine eigene Bedingung.
if bedingung:
print("Fall A")
else:
print("Fall B")
Genau einer der beiden Blöcke wird ausgeführt – nie beide, nie keiner (bei if/else).
Bestanden oder nicht?
punkte = int(input("Punkte: "))
if punkte >= 50:
print("Bestanden!")
else:
print("Noch nicht – weiter ueben!")
| Punkte | Bedingung | Ausgabe |
|---|---|---|
| 70 | True | Bestanden! |
| 50 | True | Bestanden! |
| 49 | False | Noch nicht … |
Luna: „Endlich ehrliches Feedback – auch bei Misserfolg.“
Buggy setzt else ohne Doppelpunkt.
Neue Wörter
Sonst-Zweig: laeuft, wenn if falsch war.
Ein anderer Weg im Programm, wenn die erste Bedingung nicht greift.
Aufbau und Regeln
if bedingung:
# Block A
else:
# Block B
elsesteht auf derselben Einrückungsebene wieif.- Auch
elsebraucht:. - Der else-Block ist eingerückt.
elsekommt direkt nach dem if-Block (keine „lose“ Zeile dazwischen auf gleicher Ebene mit anderem Code, der die Struktur bricht).
Was passiert im Computer?
- if-Bedingung auswerten.
- True → nur if-Block.
- False → nur else-Block.
- Danach gemeinsamer Code ohne Einrückung.
Gerade oder ungerade (Beispiel)
zahl = int(input("Zahl: "))
if zahl % 2 == 0:
print("gerade")
else:
print("ungerade")
% 2 == 0 bedeutet: Rest bei Teilung durch 2 ist 0 → gerade.
Mentales Bild: Weggabelung
Stell dir einen Wanderweg vor:
- An der Gabelung steht ein Schild mit einer Ja/Nein-Frage (
if). - Bei Ja nimmst du den linken Pfad (if-Block).
- Bei Nein nimmst du den rechten Pfad (
else). - Dahinter treffen sich die Wege wieder (Code ohne Einrückung).
Du gehst nie beide Pfade in derselben Wanderung. Genau so arbeitet if/else.
Häufige Irrtümer und Fehler
| Fehler | Hinweis |
|---|---|
| else eingerückt unter if | else gehört auf if-Ebene |
| Bedingung hinter else | else hat keine |
| Beide Fälle sollen laufen | dann brauchst du kein if/else-Gegensatz |
| if ohne else „fehlt etwas“ | nicht immer – else ist optional |
| viele prints ohne Struktur | erst Bedingung, dann zwei klare Blöcke |
Probiere es selbst
Experiment 1
Ja/Nein mit 10 > 3.
Experiment 2
Antwort "ja" nach lower → freuen, sonst anderer Text.
antwort = input("Mitmachen? ").strip().lower()
if antwort == "ja":
print("Super, willkommen!")
else:
print("Schade – vielleicht spaeter.")
Experiment 3
Türsteher ab 12 – beide Ausgaben testen (Alter 11 und 12).
Experiment 4 – Grenzfall
Punkte 50 bei „bestanden ab 50“: >= nicht nur >.
Fehlerdetektiv
if 3 > 1:
print("ja")
else:
print("nein")
Lösung
print-Zeilen müssen eingerückt sein:
if 3 > 1:
print("ja")
else:
print("nein")
Übungen
Level 1
Wenn 10 > 3 „ja“, sonst „nein“.
Lösung
if 10 > 3:
print("ja")
else:
print("nein")
Level 2
Zahl: nicht negativ vs. negativ.
Beispiel
z = int(input("Zahl: "))
if z >= 0:
print("nicht negativ")
else:
print("negativ")
Level 3
Mini-Türsteher ab 12 mit freundlicher Absage.
Lösung
alter = int(input("Alter: "))
if alter >= 12:
print("Herein!")
else:
print("Leider noch zu jung.")
Mini-Challenge
Quizfrage mit if/else: richtig loben, sonst Lösungshinweis.
Erkläre: Warum läuft nie beides?
Zusammenfassung
else= sonst.- Genau ein Zweig bei if/else.
- else ohne eigene Bedingung.
- Doppelpunkt und Einrückung auch bei else.
- Perfekt für zwei klare Fälle.
Mini-Quiz
- Hat else eine Bedingung?
- Wann läuft else?
- Braucht else einen Doppelpunkt?
Lösungen
- Nein.
- Wenn if False ist.
- Ja.
else sitzt! Als Nächstes: elif für mehrere Fälle.