Fallunterscheidungen: if, else, elif#

if-Bedingung#

Bei der if-Bedingung wird ein Teil des Codes nur dann ausgefüllt falls eine Bedingung erfüllt ist.

Anders gesagt: “Wenn dies, dann mach das”.

Syntax#

if ist das Schlüsselwort für die Fallunterscheidung. Dahinter folgt die eigentlich Bedingung, die ein Wahrheitswert (Boolean: entweder True oder False sein muss. Eingerückt befindet sich der Code der ausgeführt wird, falls die Bedingung zu True evaluiert.

if

Beispiele#

# Wenn die Person älter als 18, gebe "Person ist volljährig" aus
alter = 18
if alter >= 18:
    print('Person ist volljährig')
Person ist volljährig
# Wenn eine Zahl restlos durch 2 teilbar ist, gib "Zahl ist gerade" aus
zahl = 31
if (zahl % 2) == 0:
    print('Zahl ist gerade')
# Wenn kein @ in der Mailadresse vorkommt, gib "Mailadresse ist ungültig" aus
mail = 'testm@ailserver.com'
if '@' not in mail:
    print('Mailadresse ist ungültig')

if-else - Bedingung#

Bei der if-else Bedingung wird zusätzlich zur if Bedingung, eine andere Anweisung ausgeführt falls die Bedingung nicht True ist.

Anders gesagt: “Wenn dies, dann führe Option 1 aus, wenn nicht Option 2”.

Syntax#


if <bedingung>:
    # Code falls Bedingung True
else:
    # Code falls Bedingung False

Beispiele#

# Gib an ob eine Person volljährig ist oder nicht
alter = 14
if alter >= 18:
    print('Person ist volljährig.')
else:
    print('Person ist minderjährig.')
Person ist minderjährig.
# Teile zwei Zahlen durcheinander. Gib eine Fehlermeldung falls der Zähler = 0 ist
a = 20
b = 0
if b != 0:
    print(a/b)
else:
    print('Achtung: durch 0 kann man nicht teilen!')
Achtung: durch 0 kann man nicht teilen!

Mehrere Bedingungen: elif#

Mit elif können mehr als zwei Bedingungen überprüft und zur Ausführung von unterschiedlichen Anweisungen führen.

Das Schlüsselwort ist zusammengesetzt aus else und if. Das heißt, die Anweisung wird nur ausgeführt wenn die vorherige Bedingung Falsewahr und die jetzige Bedingung True ist.

Syntax#


if <bedingung1>:
    # Code falls Bedingung True
elif <bedingung2>:
    # Code falls Bedingung1 = False und Bedingung2 = True
else:
    # Code falls Bedingung1 = False und Bedingung2 = False

Es können beliebig viele elif-Bedingungen eingebaut werden.

  • if ist notwendig

  • elif optional, auch mehrere möglich

  • else optional, nur eine else Bedingung möglich

elif

Ausführung#

Jede Bedingung wird nacheinander abgearbeitet. Das Schema ist wie folgt:

Die Bedingung wird evaluiert falls diese

  • wahr (True) ist: führe die Anweisung aus und überspringe alle anderen Bedingungen

  • falsch (False) ist: springe zur nächsten Bedingung

Beispiele#

x = -0.1
if x == 0:
    print('x ist Null.')
elif x > 0:
    print('x ist postiv.')
else:
    print('x ist negativ.')
x ist negativ.
# Temperatureinordnung
grad = 25
if grad > 30:
    print('Vieeel zu heiß!')
elif grad >= 25:
    print('Angenehm warm: Pack die Badehose ein.')
elif grad >= 12:
    print('Bestes Wanderwetter.')
elif grad > 0:
    print("Kalt... Aber wozu gibt's warme Klamotten?")
else:
    print('Brrrrrrrrrr')
Angenehm warm: Pack die Badehose ein.

Verschachtelte if-Anweisungen#

if-elif-else Bedinungen können ineinander verschachtelt werden.

Die gelernten Regeln zur Syntax und Ausführungsreihenfolge bleiben dabei bestehen.

# Gib an ob eine Zahl positiv, negativ oder gleich Null ist
x = 1
if x >= 0:
    if x > 0:
        print('x ist positiv.')
    else:
        print('x ist 0.')
else:
    print('x ist negativ.')
x ist positiv.