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
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
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:
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.
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:
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
Gegeben sei `number = 15`. Weise `sign` den String 'positivo' zu, wenn die Nummer > 0 ist, 'zero' wenn sie 0 ist, andernfalls 'negativo'. Evaluiere `sign`.
Hinweis anzeigen
Drei Zweige: > 0, == 0, else.
Lösung nach 3 Versuchen verfügbar
Wiederholungsübung
Gegeben sei `age = 20`. Weise `category` den String 'maggiorenne' oder 'minorenne' zu, unter Verwendung des ternären Ausdrucks (if/else auf einer Zeile).
Hinweis anzeigen
Syntax: value_if_true if condition else value_if_false
Lösung nach 3 Versuchen verfügbar
Zusätzliche Herausforderung
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`.
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