Zum Hauptinhalt springen

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:
else bedeutet sonst.
Der else-Block läuft genau dann, wenn die if-Bedingung falsch (False) war.
else hat 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!")
PunkteBedingungAusgabe
70TrueBestanden!
50TrueBestanden!
49FalseNoch nicht …

Luna: „Endlich ehrliches Feedback – auch bei Misserfolg.“
Buggy setzt else ohne Doppelpunkt.

Neue Wörter

elseelse

Sonst-Zweig: laeuft, wenn if falsch war.

Alternativealternative branch

Ein anderer Weg im Programm, wenn die erste Bedingung nicht greift.

Aufbau und Regeln

if bedingung:
# Block A
else:
# Block B
  1. else steht auf derselben Einrückungsebene wie if.
  2. Auch else braucht :.
  3. Der else-Block ist eingerückt.
  4. else kommt direkt nach dem if-Block (keine „lose“ Zeile dazwischen auf gleicher Ebene mit anderem Code, der die Struktur bricht).

Was passiert im Computer?

  1. if-Bedingung auswerten.
  2. True → nur if-Block.
  3. False → nur else-Block.
  4. 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:

  1. An der Gabelung steht ein Schild mit einer Ja/Nein-Frage (if).
  2. Bei Ja nimmst du den linken Pfad (if-Block).
  3. Bei Nein nimmst du den rechten Pfad (else).
  4. 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

FehlerHinweis
else eingerückt unter ifelse gehört auf if-Ebene
Bedingung hinter elseelse hat keine
Beide Fälle sollen laufendann brauchst du kein if/else-Gegensatz
if ohne else „fehlt etwas“nicht immer – else ist optional
viele prints ohne Strukturerst 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

Mini-QuizWie viele Zweige laufen bei if/else?
  1. Hat else eine Bedingung?
  2. Wann läuft else?
  3. Braucht else einen Doppelpunkt?
Lösungen
  1. Nein.
  2. Wenn if False ist.
  3. Ja.

else sitzt! Als Nächstes: elif für mehrere Fälle.