1.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