Direkt zum Hauptinhalt springen
eLearner.app
Modul 1 · Lektion 3 von 43/36 im Kurs~10 min
Lektionen des Moduls (3/4)

Bedingte Anweisungen: if, elif, else

Bedingte Anweisungen (Conditionals) ermöglichen es dir, je nach Wert eines booleschen Ausdrucks unterschiedlichen Code auszuführen. In Python werden sie mit if, elif (Abkürzung für "else if") und else geschrieben.

Die Grundform

Python
eta = 18
if eta >= 18:
    messaggio = "maggiorenne"
else:
    messaggio = "minorenne"

Beachte:

  • Nach der Bedingung steht immer ein Doppelpunkt :;
  • Der Block "innerhalb" des if wird durch Einrückung (4 Leerzeichen) gekennzeichnet;
  • Du brauchst keine Klammern um die Bedingung (obwohl sie erlaubt sind).

Mehr Verzweigungen mit elif

Python
voto = 7
if voto >= 9:
    giudizio = "ottimo"
elif voto >= 7:
    giudizio = "buono"
elif voto >= 6:
    giudizio = "sufficiente"
else:
    giudizio = "insufficiente"

Die elif-Zweige werden in der Reihenfolge ausgewertet, in der du sie schreibst, und stoppen beim ersten, der sich als wahr erweist.

Bedingter Ausdruck (Ternär)

Für einfache Fälle kannst du alles in einer Zeile schreiben:

Python
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"

Es liest sich im Englischen ganz natürlich: "maggiorenne if eta >= 18 else minorenne".

"Truthy" / "falsy" Werte

Eine Bedingung muss kein Vergleich sein: Jeder Wert kann als Bedingung verwendet werden. Folgende Werte gelten als falsch: False, None, 0, "", [], {}. Alles andere ist wahr.

Python
nome = "Ada"
if nome:
    saluto = f"Ciao {nome}!"
else:
    saluto = "Ciao sconosciuto!"

Bedingte Ausdrücke (Ternärer Operator)

Python unterstützt ein kompaktes einzeiliges if-else-Konstrukt, das als ternärer Operator fungiert, wie man ihn aus anderen Sprachen kennt:

Python
result = "Even" if n % 2 == 0 else "Odd"

Dies hält deinen Code prägnant, wenn du lediglich einen Wert basierend auf einer Bedingung zuweisen musst.

Probiere es aus

Übung#python.m1.l3.e1
Versuche: 0Wird geladen…

Gegeben sei `number = 15`. Weise `sign` den String 'positivo' zu, wenn die Nummer > 0 ist, 'zero' wenn sie 0 ist, andernfalls 'negativo'. Evaluiere `sign`.

Editor wird geladen…
Hinweis anzeigen

Drei Zweige: > 0, == 0, else.

Lösung nach 3 Versuchen verfügbar

Wiederholungsübung

Übung#python.m1.l3.e2
Versuche: 0Wird geladen…

Gegeben sei `age = 20`. Weise `category` den String 'maggiorenne' oder 'minorenne' zu, unter Verwendung des ternären Ausdrucks (if/else auf einer Zeile).

Editor wird geladen…
Hinweis anzeigen

Syntax: value_if_true if condition else value_if_false

Lösung nach 3 Versuchen verfügbar

Zusätzliche Herausforderung

Übung#python.m1.l3.e3
Versuche: 0Wird geladen…

Schreibe eine bedingte Struktur, die prüft, ob die Variable `x` (initialisiert mit `-5`) größer als 0, kleiner als 0 oder gleich 0 ist. Weise `sign` entsprechend den String `'positive'`, `'negative'` oder `'zero'` zu. Evaluiere schließlich `sign`.

Editor wird geladen…
Hinweis anzeigen

Verwende if x > 0:, elif x < 0:, und else:, um die drei Fälle zu behandeln.

Lösung nach 3 Versuchen verfügbar