decocode decocode deco    

Schleifen #

Schleifen sind Programmteile, die bestimmte Vorgänge solange wiederholen, wie eine vorgegebene Bedingung wahr ist. Mit Python können im wesentlichen zwei Arten von Schleifen realisiert werden: einfache Zählschleifen und while-Schleifen.

Regelmäßige Zählschleifen #

► Python-Dokumentation: for range

Bei einer regelmäßigen Zählschleife wird ein interner Zähler von einem Ausgangswert bis zu einem Endwert um einen bestimmten Betrag erhöht bzw. verringert. Erst wenn der Endwert erreicht ist, wird die Schleife beendet.

Quelltext auswählen
1
2
3
4
5
6
7
8
9
10
11
12
for i in range(10):
    print(i)

print()

for i in range(5, 15):
    print(i)

print()

for i in range(5, 30, 5):
    print(i)

Die Zählschleife wird mit for und dem Variablennamen des Zählers (hier: i) eingeleitet. Der Operator in verknüpft den Zähler mit der Funktion range(), die eine regelmäßige Zahlenfolge zurückgibt. Wird nur ein Argument an diese Funktion übergeben, so wird eine Zahlenfolge von 0 bis zu dem angegebenen Wert mit einer Schrittweite von 1 erzeugt. Der angegebene Wert ist der erste Wert, der nicht mehr in der Zahlenfolge enthalten ist.

Werden zwei Argumente übergeben, so wird eine Zahlenfolge vom ersten Argument bis zum zweiten Argument mit einer Schrittweite von 1 erzeugt. Das zweite Argument ist der erste Wert, der nicht mehr in der Zahlenfolge enthalten ist.

Werden drei Argumente übergeben, so wird eine Zahlenfolge vom ersten Argument bis zum zweiten Argument mit einer Schrittweite in der Größe des dritten Arguments erzeugt. Das zweite Argument ist der erste Wert, der nicht mehr in der Zahlenfolge enthalten ist.

Unregelmäßige Zählschleifen #

Zählschleifen über unregelmäßige Zahlenfolgen können mit Hilfe einer Liste oder eines Tupels durchlaufen werden. Bei Bedarf kann die Zahlenfolge aber auch direkt in der Schleife angegeben werden.

Quelltext auswählen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Zahlenfolge in einer Liste
zahlen = [3, 7, 124, -8]
for z in zahlen:
    print(z)

# Zahlenfolge in einem Tupel
print()
zahlen = (3, 7, 124, -8)
for z in zahlen:
    print(z)

# Zahlenfolge direkt in der Schleife
print()
for z in 3, 7, 124, -8:
    print(z)

while-Schleifen #

► Python-Dokumentation: while

Eine while-Schleife verhält sich ähnlich wie eine if-Anweisung (s. Bedingungen) mit dem Unterschied, dass bei der Schleife der folgende Programmblock nur so lange wiederholt wird, wie die angegebene Bedingung wahr ist. Dies impliziert einerseits, dass die zu prüfenden Argumente bereits vor Beginn der Schleife initialisert wurden (also einen Wert besitzen). Andererseits muss man sicherstellen, dass die Prüfung der Bedingung auch wirklich irgendwann false zurückgibt, damit es nicht zu einer Endlosschleife kommt.

Quelltext auswählen
1
2
3
4
5
6
7
8
9
10
11
x = 1
while x <= 20:
    print(x)
    x += 1
exit()  # Programm wird hier beendet, um nicht in die Endlosschleife zu geraten

# Beispiel für eine Endlosschleife:
x = 1
while x > 0:
    print(x)
    x += 1

Schleifendurchlauf abbrechen und Schleife verlassen #

► Python-Dokumentation: continue break

Ergibt sich im Verlauf einer Schleife, dass die folgenden Anweisungen nicht mehr relevant sind, kann mit der Anweisung continue direkt der nächste Durchlauf der Schleife ausgelöst werden.

Will man die gesamte Schleife vorzeitig verlassen, so kann dies mit der Anweisung break ausgelöst werden.

Obwohl das folgende Beispiel als Endlosschleife konstruiert ist, existiert eine interne Abbruchbedingung, nämlich eine leere Eingabe:

Quelltext auswählen
1
2
3
4
5
6
7
8
9
while True:
    a = input("Eingabe: ")
    if a != "":
        continue  # nächsten Schleifendurchlauf beginnen
    else:
        break  # Schleife verlassen
    print("Dieser Text wird niemals angezeigt.")

print("Schleife wurde abgebrochen.")