2.3.2. Abzweigungen#
Abzweigungen ermöglichen eine Fallunterscheidung, bei der verschiedene Teile des Skripts ausgeführt werden.
Zum Beispiel im Maximum-Algorithmus wird entschieden, ob der aktuelle Iterationswert größer ist als eine Variable. Falls nicht, wird die nächste Iteration durchgeführt, falls ja, wird der Wert der Variablen angepasst.
Definition#
In Python werden Abzweigungen mit dem if
Schlüsselwort eingeleitet. Dieses wird von der Abzweigbedingung gefolgt und mit einem Doppelpunkt :
abgeschlossen. Falls die Abzweigbedingung wahr ist, wird der eingerückte Anweisungsblock ausgeführt.
if Bedingung:
Anweisungsblock
Es ist auch möglich einen alternativen Anweisungsblock zu definieren, welcher ausgeführt wird, wenn die Bedingung falsch ist. Dies wird mit dem else
Schlüsselwort umgesetzt.
if Bedingung:
# Bedingung ist wahr
Anweisungsblock
else:
# Bedingung ist falsch
Anweisungsblock
Folgende Beispiele verdeutlichen den Einsatz der Abzweigung.
# Beispiel 1: Zahl kleiner als ein Schwellwert
a = 7
if a < 10:
print( 'Die Zahl', a, 'ist kleiner als 10.')
Die Zahl 7 ist kleiner als 10.
# Beispiel 2: Zahl kleiner als ein Schwellwert mit alternativer Ausgabe
a = 13
if a < 10:
print( 'Die Zahl', a, 'ist kleiner als 10.')
else:
print( 'Die Zahl', a, 'ist nicht kleiner als 10.')
Die Zahl 13 ist nicht kleiner als 10.
# Beispiel 3: Zahl im Wertebereich zwischen 10 und 20
a = 1
if a < 20 and a > 10:
print( 'Die Zahl', a, 'liegt zwischen 10 und 20.')
else:
print( 'Die Zahl', a, 'liegt nicht zwischen 10 und 20.')
Die Zahl 1 liegt nicht zwischen 10 und 20.
Verschachtelte Abzweigungen#
Wie Schleifen, können auch Abzweigungen verschachtelt werden. Dazu werden folgende Abzweigungen in die Anweisungsblöcke der übergeordneten Abfragen gesetzt.
# Beispiel 4: Zahl im Wertebereich zwischen 10 und 20 mit verschachtelten Abzweigungen
a = 12
if a > 10:
print( 'Die Zahl', a, 'ist größer als 10.' )
if a < 20:
print( 'Die Zahl', a, 'ist kleiner als 20.' )
print( 'Damit liegt die Zahl zwischen 10 und 20.')
else:
print( 'Die Zahl', a, 'ist größer als 20 und liegt nicht im gesuchten Wertebereich.' )
else:
print( 'Die Zahl', a, 'ist kleiner als 10 und liegt nicht im gesuchten Wertebereich.' )
Die Zahl 12 ist größer als 10.
Die Zahl 12 ist kleiner als 20.
Damit liegt die Zahl zwischen 10 und 20.
Kombination von Schleifen und Abzweigungen#
Wie alle Anweisungen, können auch die beiden Grundelemente Schleifen und Abzweigungen kombiniert werden. Dazu werden sie in die jeweiligen Ausführungsblöcke integriert.
# Beispiel 5: Prüfe ob Elemente einer Liste gerade Zahlen sind.
# Defniere eine Liste
l1 = [-4, 5, 11, 98, 2, -35]
# Schleife über alle Listenelemente
for el in l1:
print( "Prüfe das Element", el)
# Prüfe ob Element gerade ist
if el % 2 == 0:
print(" -> gerade")
else:
print(" -> ungerade")
Prüfe das Element -4
-> gerade
Prüfe das Element 5
-> ungerade
Prüfe das Element 11
-> ungerade
Prüfe das Element 98
-> gerade
Prüfe das Element 2
-> gerade
Prüfe das Element -35
-> ungerade
# Beispiel 6: Ausgabe der einzelnen Elemente in verschiedenen Richtungen
# Setze Variable zum Steuern der Richtung
vorwaerts = False
# Beispielliste
l2 = [11, 45, "Feuer", [6,7], -3.456]
if vorwaerts:
for el in l2:
print( "Element: ", el)
else:
for i in range(len(l2)-1, -1, -1):
print( "Element: ", l2[i])
Element: -3.456
Element: [6, 7]
Element: Feuer
Element: 45
Element: 11