Kurs
if…elif…else
sind in Python verwendete bedingte Anweisungen, mit denen du automatisch unterschiedlichen Code basierend auf einer bestimmten Bedingung ausführen kannst. Dieses Tutorial erklärt jede Anweisung in dieser Python-Konstruktion anhand von Beispielen.
Um alle Beispielcodes in diesem Tutorial ganz einfach selbst auszuführen, kannst du kostenlos eine DataLab-Arbeitsmappe erstellen, in der Python schon installiert ist und alle Code-Beispiele enthalten sind. Wenn du mehr über if
-Anweisungen üben willst, schau dir diese praktische DataCamp-Übung an.…
elif…
else
Python von Grund auf lernen
wenn Bedingung
Die Bedingung if
ist die einfachste der drei Bedingungen und entscheidet, ob die Bedingung wahr ist oder nicht. Wenn die Bedingung stimmt, wird der eingerückte Ausdruck ausgegeben. Wenn die Bedingung nicht stimmt, wird der eingerückte Ausdruck nicht gedruckt.
if condition:
expression
Beispiel für wenn
Angenommen, du hast eine Variable z
, die gleich 4 ist. Wenn der Wert „even“ ist, wird z
ist „even“ ausgegeben. Du verwendest den Modulo-Operator 2, der 0 zurückgibt, wenn z
gerade ist. Sobald du den folgenden Code ausführst, überprüft Python, ob die Bedingung erfüllt ist. Wenn ja, wird der passende Code ausgeführt.
z = 4
if z % 2 == 0: # True
print("z is even")
# z is even
Beispiel für mehrere Zeilen innerhalb einer if-Anweisung
Es ist völlig okay, wenn die Anweisung if
mehrere Zeilen hat, wie im folgenden Beispiel gezeigt. Das Skript gibt zwei Zeilen zurück, wenn du es ausführst. Wenn die Bedingung nicht erfüllt ist, wird der Ausdruck nicht ausgeführt.
z = 4
if z % 2 == 0:
print("checking " + str(z))
print("z is even")
# checking 4
# z is even
Beispiel für eine falsche if-Anweisung
Lass uns den Wert von z
auf eine ungerade Zahl ändern. Du wirst sehen, dass der Code nichts ausgibt, weil die Bedingung nicht erfüllt ist, also False.
z = 5
if z % 2 == 0: # False
print("checking " + str(z))
print("z is even")
# no output expected
if-else-Bedingung
Die Bedingung if-else
fügt im Vergleich zur einfachen Anweisung if
einen zusätzlichen Schritt im Entscheidungsprozess hinzu. Der Anfang einer if-else
-Anweisung funktioniert ähnlich wie eine einfache if
-Anweisung; wenn die Bedingung aber falsch ist, wird nicht einfach nichts ausgegeben, sondern der eingerückte Ausdruck unter else
wird ausgegeben.
if condition:
expression
else:
expression
Beispiel für if-else
Wenn wir unser vorheriges Beispiel weiterführen, was passiert, wenn du „z ist ungerade“ drucken willst, wenn die Bedingung if
nicht erfüllt ist? In diesem Fall kannst du einfach eine weitere Bedingung hinzufügen, nämlich die Bedingung else
. Wenn du das mit z
gleich 5 ausführst, ist die Bedingung nicht erfüllt, sodass der Ausdruck für die else-Anweisung ausgegeben wird.
z = 5
if z % 2 == 0:
print("z is even")
else:
print("z is odd")
# z is odd
if-elif-else-Bedingung
Die komplizierteste dieser Erkrankungen ist die sogenannte if-elif-else
-Erkrankung. Wenn du mehrere Bedingungen hast, kannst du so viele elif
-Bedingungen wie nötig zwischen die Bedingungen if
und else
setzen.
if condition:
expression
elif condition:
expression
else:
expression
Beispiel eins für eine if-elif-else-Bedingung
Hier ist ein Beispiel, wo du unterschiedliche Ausdrucke für Zahlen haben willst, die durch 2 und 3 teilbar sind.
Da hier z
gleich 3 ist, ist die erste Bedingung falsch, also geht es weiter zur nächsten Bedingung. Die nächste Bedingung ist wahr. Deshalb wird die passende print-Anweisung ausgeführt.
z = 3
if z % 2 == 0:
print("z is divisible by 2")
elif z % 3 == 0:
print("z is divisible by 3")
else:
print("z is neither divisible by 2 nor by 3")
# z is divisible by 3
Beispiel 2 für eine if-elif-else-Bedingung
Im folgenden Beispiel definierst du zwei Variablen: room
und area
. Dann machst du Bedingungen if-elif-else
und if-else
für room
und area
.
In der ersten Bedingung checkst du if
(Du suchst in der Küche), elif
(Du suchst im Schlafzimmer) und else
(Du suchst woanders). Je nachdem, was die Variable room
sagt, wird die Bedingung erfüllt.
Ähnlich verhält es sich mit der Variablen area
: Hier schreibst du eine Bedingung if
und else
und checkst, ob area
größer als 15 ist oder nicht.
# Define variables
room = "bed"
area = 14.0
# if-elif-else construct for room
if room == "kit":
print("Looking around in the kitchen.")
elif room == "bed":
print("Looking around in the bedroom.")
else:
print("Looking around elsewhere.")
# if-elif-else construct for area
if area > 15:
print("Big place!")
else:
print("Pretty small.")
# Looking around in the bedroom.
# Pretty small.
Mehr über elif-Anweisungen in Python erfährst du in diesem Video aus unserem Kurs „Python für Fortgeschrittene“.
Dieser Inhalt stammt aus dem Kurs „Python für Fortgeschrittene “ von Hugo Bowne-Anderson bei DataCamp.