Die for-Schleife mit range() in Python 3

Schreibt man ein Programm, dann wird man häufig mit der Situation konfrontiert, dass etwas wiederholt werden muss. Möchte man beispielsweise viermal die Zeichenkette “Hello, World!” ausgeben, könnte man wie folgt vorgehen:

print("Hello, World!")
print("Hello, World!")
print("Hello, World!")
print("Hello, World!")

Damit kommt man sicherlich zum Ziel, denn bei Ausführung des Programms wird “Hello, World!” viermal angezeigt. Nichtsdestotrotz ist es umständlich.

Mit einer for-Schleife und der Built-In-Funktion range() läßt sich so etwas vereinfachen:

for i in range(4):
    print("Hello, World!")

Die print()-Funktion muss hier nur einmal geschrieben werden; den wiederholten Aufruf erledigt nun die for-Schleife. Bei einem viermaligen Aufruf mag das noch nicht so ins Gewicht fallen, aber bei Code, der 100 oder gar 1000 mal aufgerufen werden muss, sieht die Sache schon anders aus.

Dabei bezeichnet man die Zeile

for i in range(4):

als Schleifenkopf (loop header), während es sich um den dann folgenden – eingerückten Code – um den Schleifenkörper (loop body) handelt. Es ist zwingend erforderlich, dass der Schleifenkörper eingerückt wird.

Jede Wiederholung des Codes im Schleifenkörper wird als Iteration bezeichnet. Da die Anzahl der Schleifendurchläufe hier angegeben wird, spricht man auch von einer definitiven Iteration (definite iteration).

Mit der Iterationsvariablen i, deren Bezeichnung übrigens frei gewählt werden kann, werden die durchzuführenden Durchläufe gezählt. Dabei wird mit 0 begonnen und bis zum angegebenen Integer-Wert (hier: 4) minus 1 hochgezählt.

for i in range(4):
    print(i)
    print("Hello, World!")

# Ausgabe:
0
Hello, World!
1
Hello, World!
2
Hello, World!
3
Hello, World!

Übrigens ist man durch die Angabe des Parameters 4 als Angabe der Anzahl der Iterationen unflexibel. Schöner ist es, eine Variable zu verwenden:

number = 4
for each_pass in range(number):
    print("Hello, World!")

Nutzt man range() mit zwei Parametern, dann wird dadurch ein Mindest- und ein Maximalwert festgelegt:

for i in range(4, 8):
    print(i)

# Ausgabe
4
5
6
7

Das funktioniert auch absteigend, wobei hier drei Parameter anzugeben sind:

for i in range(8, 4, -1):
    print(i)

# Ausgabe
8
7
6
5

Weiterführende Links

Durch Benutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Mehr Informationen

Diese Website speichert Cookies. Die Verwendung von Cookies dient dazu, Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf diese Website zu analysieren. Außerdem werden Informationen zur Nutzung dieser Webseite an Partner für soziale Medien, Werbung und Analysen weitergegeben. Mit der Verwendung dieser Internetpräsenz stimmen Sie zu, dass diese Seiten Cookies für Analysen, personalisierte Inhalte und Werbung verwenden dürfen. Weitere Informationen hierzu finden Sie in meiner Datenschutzerklärung.

Schließen