Python3 – Teil 4 If else elif

Erwartete Lesezeit: 2 minuten

Wie in jeder anderen Programmiersprachen werden if Anweisungen zum Test von Bedingungen und der Reaktion auf das Prüfungsergebnis genutzt.
Auch in Python werden die arithmetischen Vergleichsoperatoren unterstützt :

BeschreibungOperator
Gleichheit==
kleiner als<
kleiner oder gleich als<=
größer>
größer oder gleich als>=
Ungleichheit!=
Vergleichsoperatoren

Neben diesen Standardoperatoren gibt es zum „Suchen“ in Listen noch den „in“ und zur Prüfung, ob ein Eintrag nicht in einer Liste ist „not in“ Operator.

Hier ein paar Beispiele

Einfaches If :
Wenn das Alter kleiner gleich 17 ist , dann gibt eine Meldung aus.

if alter <=17: 
print('Du kommst hier nicht rein')

Einfaches If Else Beispiel :
Wenn Alter < 18 , dann Lieblinksgetränk ist Milch, ansonsten Whisky.

if alter < 18:
lieblingsgetraenk = 'Milch'
else:
lieblingsgetraenk = 'Whisky'

Natürlich gibt es kompliziertere Beispiele :
Wenn Alter < 16 , dann Lieblinksgetränk ist Milch. Wenn Alter >=16 aber < 18 dann Bier ansonsten Whisky. Also eine klassische If ElseIf Else abfrage. Da Wir in Python aber auf gut lesbaren Code stehen , heißt bei uns das ElseIf nicht ElseIf sondern ElIf.

 if alter >= 18: 
lieblingsgetraenk = 'Whisky'
elif alter >= 16:
lieblingsgetraenk = 'Bier'
else:
lieblingsgetraenk = 'Whisky'

Wie Ihr sicherlich schon gemerkt habt, sind in Python die Blöcke mit der Logik nicht wie in anderen Sprachen durch geschweifte Klammern gekapselt , sondern durch Einrückungen.

Dabei ist es egal , wie viele Anweisungen ausgeführt werden sollen :

if alter < 18:
lieblingsgetraenk = 'Milch'
lieblingsfarbe = 'blau' 
else:
lieblingsgetraenk = 'Whisky'
lieblingsfarbe = 'rot'

Auf der einen Seite erleichtert diese Schreibweise die Lesbarkeit , ist aber auch eine leichte Fehlerquelle, da bereits eine Verschiebung um ein Zeichen , dem Interpreter Probleme bereitet.

Zu guter Letzt noch ein ein Beispiel für die Abfrage in Listen :

x = ['Hund','Katze','Maus']
if 'Katze' in x: 
print('Mensch , das gibt Ärger')