EMZETT.
Login

Kurz: Mit einer Bedingung entscheidet dein Programm, welcher Code ausgeführt wird. Die Grundform ist if. Hinter der Bedingung steht ein Doppelpunkt, und der Block darunter ist eingerückt.

Teil des Kurses Python

Kapitel 11 von 44 im Kurs Python (Abschnitt „Programmablauf“). Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

Mit einer Bedingung entscheidet dein Programm, welcher Code ausgeführt wird. Die Grundform ist if. Hinter der Bedingung steht ein Doppelpunkt, und der Block darunter ist eingerückt.

temperatur = 28
if temperatur > 25:
    print("Es ist heiß!")
print("Das steht immer da.")

Ausgabe:

Es ist heiß!
Das steht immer da.

else und elif

else gilt, wenn die Bedingung nicht zutrifft. Mit elif (kurz für else if) prüfst du weitere Fälle der Reihe nach; der erste zutreffende Zweig gewinnt:

note = 2
if note == 1:
    print("sehr gut")
elif note == 2:
    print("gut")
elif note == 3:
    print("befriedigend")
else:
    print("anderes Ergebnis")

Ausgabe:

gut

Bedingungen kombinieren

alter = 25
hat_ticket = True
 
if alter >= 18 and hat_ticket:
    print("Eintritt erlaubt")
 
if alter < 6 or alter > 65:
    print("ermäßigt")
else:
    print("Normalpreis")
 
if not hat_ticket:
    print("Bitte erst ein Ticket kaufen")

Ausgabe:

Eintritt erlaubt
Normalpreis

Auch Wahrheitswerte von Texten, Zahlen und Listen lassen sich direkt abfragen (siehe Kapitel Datentypen):

name = ""
if name:
    print("Name:", name)
else:
    print("Kein Name angegeben")

Ausgabe:

Kein Name angegeben

Verschachtelte Bedingungen

punkte = 85
if punkte >= 50:
    if punkte >= 80:
        print("bestanden mit Auszeichnung")
    else:
        print("bestanden")
else:
    print("nicht bestanden")

Ausgabe:

bestanden mit Auszeichnung

Flacher und lesbarer ist oft die Kombination mit and oder eine elif-Kette.

Kurzschreibweise (Bedingter Ausdruck)

Für einfache Fälle gibt es einen Ausdruck in einer Zeile:

alter = 20
status = "volljährig" if alter >= 18 else "minderjährig"
print(status)

Ausgabe:

volljährig

match: Fallunterscheidung ab Python 3.10

Wenn du einen Wert mit vielen Möglichkeiten vergleichst, ist match übersichtlicher als eine lange elif-Kette. Der Unterstrich _ steht für “alles andere”:

tag = "sa"
match tag:
    case "mo" | "di" | "mi" | "do" | "fr":
        print("Arbeitstag")
    case "sa" | "so":
        print("Wochenende")
    case _:
        print("unbekannt")

Ausgabe:

Wochenende

Achtung

Vergleiche mit ==, nicht mit =. Und der Doppelpunkt nach der Bedingung darf nicht fehlen: if x > 3 ohne : ergibt einen SyntaxError.

Merke

  • if bedingung: mit eingerücktem Block; elif für weitere Fälle; else für den Rest
  • Der erste zutreffende Zweig wird ausgeführt
  • Kombinieren mit and, or, not
  • Kurzform: wert_a if bedingung else wert_b
  • match/case (ab Python 3.10) für viele Einzelfälle

Übungsaufgabe

Schreibe ein Programm, das zu einer Punktzahl (0 bis 100) eine Note von 1 bis 5 ausgibt (zum Beispiel ab 90 eine 1, ab 75 eine 2, ab 60 eine 3, ab 50 eine 4, sonst eine 5).

Quiz zur Selbstkontrolle

Weiter im Kurs

Zurück: String-Methoden

Weiter: Die while-Schleife

Alle Kapitel: Python im Überblick