181
Die Zählschleife mit »for«
Die Zählschleife mit »for«
Was du hier erstmals ausprobiert hast, ist eine so genannte
for
-
Schleife
.
Bevor ich dir erkläre, wie die
for
-Schleife aufgebaut ist und wie sie funk-
tioniert, noch ein ganz kurzes und noch einfacheres Beispiel im IPI:
>
Mach weiter mit:
>>> for i in (1, 2, 3, 4):
print("*")
*
*
*
*
Die
print
-Anweisung wurde vier Mal ausgeführt. Ebenso, aber mit dem
optionalen Schlüsselwort-Argument
end=" "
, damit die Ausgabe in einer
Zeile erfolgt:
>>> for i in (1, 2, 3, 4):
print(i, end=" ")
1 2 3 4
Die
print
-Anweisung wurde vier Mal ausgeführt. Da die
Schleifenvariable
i
in der
print
-Anweisung ausgegeben wird, sieht man, dass sich ihr Wert
bei jedem Schleifendurchgang ändert.
Clara Pythias Python-Special: Die Schlüsselwort-
Argumente der
print()
-Funktion
Du weißt schon, dass die
print()
-Funktion eine beliebige Anzahl von
Positionsargumenten übernimmt. Im obigen Beispiel wurde ihr auch das
Schlüsselwort-Argument
end=" "
übergeben.
Die
print()
-Funktion versteht aber auch drei Schlüsselwort-
Argumente, die – wie stets – nach den Positionsargumenten übergeben
werden müssen.
Sehen wir uns zunächst das Schlüsselwort-Argument
end
mit dem IPI an
(eigentlich haben wir damit ja schon oben begonnen):
182
Schleifen, die zählen
Kapitel
7
>
Mach mit!
>>> For wort in (
"a", "be", "bu"):
print(wort)
a
be
bu
>>> for wort in ("a", "be", "bu"):
print(wort, end=" -+- ")
a -+- be -+- bu -+-
>>> for wort in ("a", "be", "bu"):
print(wort, end=" "+chr(9786)+"\n")
a
be
bu
In allen Beispielen werden drei Aufrufe der
print()
-Funktion ausge-
führt, jede mit einem Positionsargument
wort
und dem Schlüsselwort-
Argument
end
. Jede schreibt das
wort
auf den Bildschirm und danach
den Wert des Parameters
end
. Im letzten Beispiel ist dieser Wert ein
String, der aus einem Leerzeichen, dem lustigen
Unicode
-Zeichen mit der
Nummer 9786 und einem
newline
-Zeichen
"\n"
zusammengesetzt ist
(mehr dazu auf Seite 289). Daher beginnt nach jeder
print
-Anweisung
eine neue Zeile. Wenn
end
nicht angegeben wird, wird der Standardwert
"\n"
verwendet und die Zeile somit beendet. Wird
end=" "
verwendet,
dann fügt jede
print
-Anweisung am Ende ein Leerzeichen ein.
Das Schlüsselwort-Argument
sep
wird verwendet, um ein Trennzeichen
für eine
print
-Anweisung mit mehreren Positionsargumenten festzulegen:
>>> print("a", "be", "bu")
a be bu
>>> print("a", "be", "bu", sep="?")
a?be?bu
>>> print("a", "be", "bu", sep=", ...ähhh... ")
a, ...ähhh... be, ...ähhh... bu
Wie du leicht erkennen kannst, hat auch
sep
einen Standardwert, näm-
lich das Leerzeichen " ".
Die
print()
-Funktion akzeptiert auch noch das Schlüsselwort-
Argument
file
. Es wird in diesem Buch nicht benutzt.
183
Die Zählschleife mit »for«
Wir experimentieren weiter mit
for
:
>>> for element in (1, 2, 3, 4):
print(element, end=" ")
1 2 3 4
Das ändert offenbar an der Ausführung nichts. Wir haben nur einen ande-
ren Namen für die Schleifenvariable gewählt. Aber:
>>> for element in (1, 2, 1, 2):
print(element, end=" ")
1, 2, 1, 2
Hier werden dem Namen
element
bei den vier Schleifendurchgängen ab-
wechselnd die Werte
1
und
2
zugewiesen.
Die
for
-Schleife ist so wichtig, dass ich dir genauere Erklärungen geben
muss.
Die
for
-Schleife hat folgende Struktur:
for
ding
in
Wertevorrat
:
Anweisungsblock
Zunächst erkennst du wieder: Die
for
-Schleife hat einen
Schleifenkopf
und einen
Schleifenkörper
. Der Schleifenkörper ist, wie immer einge-
rückt, ein Block von Anweisungen, die wiederholt ausgeführt werden.
Im Schleifenkopf spielt der
Wertevorrat
eine wichtige Rolle. Er liefert
die Werte, für die der Schleifenkörper ausgeführt werden soll.
Werte-
vorrat
kann in Python vieles sein, was eine Folge von Werten liefert.
Bisher haben wir dafür nur Folgen von Werten kennen gelernt, die direkt
hingeschrieben werden. Sehr häufig besteht der Wertevorrat aus einem
range()
-Objekt. Diese und andere Möglichkeiten für
Wertevorrat
wirst du im Weiteren noch kennen lernen.
In unseren ersten Beispielen war der Wertevorrat eine Folge von Zahlen-
werten oder Strings. Genau so gut können an Stelle von Zahlen oder
Strings auch andere Objekte verwendet werden. Sie sind durch Kommas
voneinander getrennt und in runde Klammern eingeschlossen. Eine sol-
che Folge heißt in Python ein
Tupel
.
ding
ist in der einfachsten und häufigsten Form der
for
-Schleife ein
Name.
Die Ausführung der Schleife geschieht in der folgenden Weise: Dem Na-
men
ding
wird das erste Element des
Wertevorrat
s zugewiesen und

Get Python für Kids now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.