Python lernen · Schritt 4 von 14
Im MUD: die verschlossene Tür und der Torwächter

Python lernen · 08.09.2026

Python lernen: Konditionen (if/elif/else)

if lässt dein Programm Entscheidungen treffen — je nachdem, ob eine Bedingung wahr oder falsch ist. Mit Logik, Kettenvergleichen, Übungen und Quiz.

Ohne Entscheidungen wäre jedes Programm ein sturer Ablauf. if fragt eine Bedingung ab und führt den eingerückten Block nur aus, wenn sie wahr ist — so trifft auch der Torwächter von Falkenmoor seine Entscheidungen.

Der Aufbau: if, elif, else

gold = 12

if gold >= 20:
    print("Du kaufst das Schwert.")
elif gold >= 10:
    print("Nur der Dolch bleibt dir.")
else:
    print("Zu arm — komm wieder.")

Python prüft von oben nach unten und führt den ersten passenden Zweig aus — alle weiteren werden übersprungen, selbst wenn sie auch passen würden. elif („else if“) fügt weitere Bedingungen ein, else fängt alles Übrige auf. Der Doppelpunkt am Zeilenende und die Einrückung (in Python üblich und Pflicht: 4 Leerzeichen) markieren, was zum Zweig gehört.

Vergleiche

  • == gleich · != ungleich
  • < kleiner · <= kleiner gleich
  • > größer · >= größer gleich
  • Vergleiche liefern immer einen Wahrheitswert: True oder False.
  • Textvergleiche unterscheiden Groß-/Kleinschreibung: "a" == "A" ist False.

Und, oder, nicht

name = "Mirabel"
stufe = 3

if name == "Mirabel" and stufe >= 2:
    print("Willkommen zurück, Heldin!")

if stufe < 2 or gold < 10:
    print("Du bist noch grün hinter den Ohren.")

if not (name == "Gast"):
    print("Du bist registriert.")

and verlangt beides, or genügt eins, not dreht um. Die Bindung: not gilt zuerst, dann and, dann or — im Zweifel klammern, das liest auch morgen noch jemand. Eleganter Python-Trick: Kettenvergleiche wie in Mathe — if 0 < gold < 100: prüft beides auf einmal.

Verschachteln oder elif?

if hat_schluessel:
    if turm_waechter_schlaeft:
        print("Schleich hinein!")
    else:
        print("Der Wächter droht dir mit der Lanze.")
else:
    print("Die Tür bleibt zu.")

Verschachtelungen sind erlaubt, werden aber schnell unleserlich. Oft geht es flacher — zuerst die Ausschlussbedingungen abfrühstücken, dann den Glücksfall behandeln.

Häufige Fehler

  • = statt ==: Zuweisung statt Vergleich — Python meldet einen SyntaxError, wenn es eine Zuweisung in einer Bedingung erschnuppert.
  • Fehlender Doppelpunkt am Ende der if-Zeile.
  • Gemischte Einrückung (Tabs und Leerzeichen) — bleib bei 4 Leerzeichen.

So übst du das

  • Entscheidungsbaum aufmalen: Zeichne den Laden-Preisablauf als Diagramm (Kisten mit Ja/Nein) und setze ihn danach in elif-Ketten um.
  • Türwächter-Programm: Name und Passwort prüfen — erst einzeln, dann kombiniert mit and.
  • Zahlen zerlegen: Prüfe mit %, ob eine Zahl durch 3 teilbar ist, ob sie positiv ist, ob sie zwischen 1 und 6 liegt.
  • Klassiker FizzBuzz als Vorgeschmack auf die Schleifen-Artikel: Zahl durch 3 → „Fizz“, durch 5 → „Buzz“, durch beides → „FizzBuzz“.

Übungen

Übung 1 — Der Ladenbesitzer

Schreibe eine Kette: Bei 50+ Gold „Du kaufst das Schwert“, bei 20+ „Nur die Rüstung“, sonst „Schau weiter, wenn du Geld hast.“ Probiere drei Gold-Werte durch.

Musterlösung zeigen
gold = 23

if gold >= 50:
    print("Du kaufst das Schwert.")
elif gold >= 20:
    print("Nur die Rüstung.")
else:
    print("Schau weiter, wenn du Geld hast.")

Übung 2 — Gerade oder ungerade

Prüfe mit dem Rest-Operator, ob eine Zahl gerade ist — und gib das Ergebnis aus.

Musterlösung zeigen
zahl = 42

if zahl % 2 == 0:
    print("gerade")
else:
    print("ungerade")

Übung 3 — Der Türwächter

Lass nur „Mirabel“ mit dem Passwort „Falke123“ hinein — beides muss stimmen. Gib eine passende Meldung für jeden Fehlversuch aus.

Musterlösung zeigen
name = "Mirabel"
passwort = "Falke123"

if name == "Mirabel" and passwort == "Falke123":
    print("Einlass!")
else:
    print("Der Wächter schüttelt den Kopf.")

Übung 4 — Größte von dreien

Bestimme die größte von drei Zahlen — ohne die eingebaute Funktion max(), nur mit Vergleichen.

Musterlösung zeigen
a, b, c = 14, 7, 22

if a >= b and a >= c:
    groesste = a
elif b >= c:
    groesste = b
else:
    groesste = c
print(groesste)

Quiz — Teste dich

Erst überlegen, dann aufklappen — so trainiert es am meisten!

  1. gold = 12, dann die if/elif/else-Kette aus dem Artikel — welche Meldung erscheint?
  2. Ist "a" == "A" wahr?
  3. Was ergibt not True or True?
  4. Was läuft hier schief: if gold = 10:?
  5. Wie viele Zweige eines if/elif/else-Blocks werden maximal ausgeführt?
Quiz-Lösungen anzeigen
  1. Der elif-Zweig: „Nur der Dolch bleibt dir.“ — die Kette stoppt beim ersten Treffer.
  2. Nein, False — Textvergleiche unterscheiden Groß-/Kleinschreibung.
  3. Truenot bindet zuerst: (not True) or TrueFalse or TrueTrue.
  4. Ein SyntaxError — einzelnes = ist Zuweisung, vergleichen tut ==.
  5. Genau einen — die Kette führt immer höchstens einen Zweig aus (oder keinen, wenn kein else existiert und nichts passt).

↩ Vorheriger Teil: Variablen

Weiter geht's mit dem nächsten Teil: Schleifen

Mehr aus der Kategorie „Python lernen“

← Zurück zum Lehrpfad