Programme müssen oft Entscheidungen treffen: Ist die Punktzahl hoch genug für ein Bestehen? Ist der Benutzer alt genug? Hat der Spieler gewonnen oder verloren? Mit If-Else-Anweisungen kann dein Programm je nach Situation unterschiedliche Wege einschlagen.
Die einfache If-Anweisung
if bedingung:
# Wird ausgeführt, wenn bedingung True ist
temperatur = 35
if temperatur > 30:
print("Es ist sehr heiß!")
print("Das Programm läuft weiter.")
Wenn temperatur > 30 wahr ist, wird "Es ist sehr heiß!" ausgegeben. Die zweite Zeile wird immer ausgegeben, da sie nicht eingerückt ist.
If-Else
Mit else gibst du an, was passieren soll, wenn die Bedingung nicht erfüllt ist:
punkte = 45
if punkte >= 50:
print("Bestanden!")
else:
print("Nicht bestanden.")
Das Programm geht immer einen der beiden Wege — entweder den if-Zweig oder den else-Zweig, nie beide.
Die Einrückung (4 Leerzeichen) ist in Python nicht optional — sie bestimmt, welcher Code zur If-Anweisung gehört. Ein fehlerhaft eingerückter Code führt zu einem IndentationError.
If-Elif-Else (mehrere Bedingungen)
Wenn du mehr als zwei Möglichkeiten hast, verwende elif (kurz für "else if"):
note_punkte = 72
if note_punkte >= 87:
note = 1
elif note_punkte >= 75:
note = 2
elif note_punkte >= 62:
note = 3
elif note_punkte >= 50:
note = 4
else:
note = 5
print(f"Deine Note: {note}") # Deine Note: 2
Python prüft die Bedingungen von oben nach unten und führt den ersten passenden Zweig aus. Die restlichen Bedingungen werden nicht mehr geprüft.
Du kannst so viele elif-Zweige haben wie nötig. Der else-Zweig am Ende ist optional — er fängt alle Fälle ab, die keine der vorherigen Bedingungen erfüllen.
Vergleichsoperatoren
| Operator | Bedeutung | Beispiel |
|---|---|---|
== | ist gleich | x == 5 |
!= | ist ungleich | x != 5 |
> | größer als | x > 5 |
< | kleiner als | x < 5 |
>= | größer oder gleich | x >= 5 |
<= | kleiner oder gleich | x <= 5 |
Verschachtelte If-Anweisungen
Du kannst If-Anweisungen ineinander verschachteln:
alter = 16
hat_fuehrerschein = False
if alter >= 18:
if hat_fuehrerschein:
print("Du darfst Auto fahren.")
else:
print("Du bist alt genug, brauchst aber noch einen Führerschein.")
else:
print("Du bist noch zu jung zum Autofahren.")
Zu viele verschachtelte If-Anweisungen machen Code schwer lesbar. Oft kannst du stattdessen logische Operatoren (and, or) verwenden, um Bedingungen zu kombinieren und flacheren Code zu schreiben.
Übungsaufgaben
Was gibt der folgende Code aus, wenn x = 15? if x > 20: print('A') elif x > 10: print('B') elif x > 5: print('C') else: print('D')
Antwort anzeigen
Schreibe eine If-Else-Anweisung, die prüft, ob eine Zahl gerade oder ungerade ist, und die entsprechende Nachricht ausgibt.