In Python wird in der for-Schleife eine feste Anzahl an Wiederholungen durchlaufen. Dazu verwendet man eine Zählvariable.
In diesem Artikel lernst Du die Struktur der for-Schleife in Python kennen. Neben der Schleifenstruktur mit Initialisierung, Bedingung und Änderung, wird das Inkrementieren, Dekrementieren und die verschachtelte for-Schleife erklärt.
Als meine Frau aus China die DVD ICE Age für 1 EUR mitbrachte war die Freude unserer Kids groß. Umso überraschter war ich, als beim DVD-Player die Ländercodemeldung kam:
Aktuelle Region: Europa
Mögliche Änderungen: 7
Zähler zum Einstellen der Region: 0mal geändert
Das musste ich natürlich gleich ausprobieren. Ich wechselte auf die Region China und dann wieder zurück auf Europa und schon hatte ich nur noch 5 mögliche Änderungen. Nach jedem Wechsel war ich um eine Änderungsmöglichkeit ärmer.
Nach einem ganz ähnlichen Prinzip funktioniert auch die for-Schleife oder Zählschleife in Python.
In Python wird in der for-Schleife (auch Zählschleife) eine feste Anzahl an Wiederholungen durchlaufen. Eine Zählvariable i wird bspw. von 0 bis 6 in 1er Schritten gezählt. In Python programmiert man:
for i in range(7):
print(i, end = " ")
0 1 2 3 4 5 6
Als Defaultwerte sind der Startwert Null und die Änderung in 1erSchritten hinterlegt. Für einen anderen Startwert und Endwert programmiert kann man auch diesen angeben.
for i in range(3,7):
print(i, end = " ")
3 4 5 6
Die Schrittweite kann als letzter Parameter angegeben werden.
for i in range(3,7,2):
print(i, end = " ")
3 5
Die for-Schleife besitzt einen Schleifenkopf mit Initialisierung (Startwert), Bedingung (Abbruch) und Änderung (Schrittweite) und einen Schleifenkörper, der hier 7mal, mit Ausgabe der Zählvariable, wiederholt wird.
range()
nicht akzeptiert. Auch die Schrittweite und der aktuelle Indexwert kann im Schleifenkörper nicht verändert werden.
0 1... 10
.5 6... 10
.4 6... 10
.10 9... 0
.Bei einem Tippspiel mit maximal 3 Versuchen und Zahlenwerten zwischen 0 und 10 gibt es ggf. einen Hinweis ob der Wert zu groß oder zu klein ist.
for i in range(11):
for i in range(5,11):
for i in range(4,11,2):
for i in range(10,0,-1):
import random
gewinnzahl = random.randint(0,10)
tipp = int(input("Tippe eine Zahl zwischen 0 und 10: "))
for i in range(3):
...
Wähle die korrekten Aussagen aus.
for i in range(10): print(i, end=" ")
for i in range(1,15,3): print(i, end=" ")
for i in range(3,3): print(i, end=" ")
for i in range(10,0,-1): print(i, end=" ")
for i in range(5):
i=i+2
print(i, end=" ")
int i;
for i in range(5):
i=i-1
print(i+1, end=" ")
In einem Café gewährt der Inhaber folgenden Treuevorteil: Für jede 5 EUR bekommt man einen Treuestempel. Für 10 Stempel erhält man einen Rabatt im Wert von 3 EUR.
Treuestempel
. Der Nutzer gibt den Einkaufswert ein. Berechnet und ausgegeben wird der Endpreis.13 Stempel, Rabatt: 3 €
einkaufswert = float(input("Einkaufswert: "))
anzahlStempel = int(einkaufswert / 5)
rabatt = 0
...
for i in range(anzahlStempel):
print("☕", end="")
...
Man kann for-Schleifen auch Verschachteln:
for i in range(2):
for j in range(3):
print(f"{i}{j}, end = " ")
00 01 02 10 11 12
In diesem Beispiel wird die innere Schleife 3mal und die äußere Schleife 2mal durchlaufen, das macht insgesamt: 2 . 3 = 6mal.
Autoren: D. Supper
Wir trainieren unser Programmierkenntnisse mit verschachtelten Schleifen.
for i in range(1,11):
for j in range(0,10):
for i in range(3,11,1):
for i in range(10,5,-1):
Zeiten
welches einen Countdown von 10 bis 0 zählt. Die Verzögerungszeit soll exakt 1 s betragen. Verwende zum Erzeugen der Verzögerungszeit verschachtelte for-Schleifen. Zum Vergleich kannst Du das Modul time
verwenden."Ein Netz hat Löcher, immer. Sonst wäre es ja eine Decke."
"Deswegen heißt es, zumindest in Deutschland, ja auch Mobilfunknetz und nicht Mobilfunkdecke." mademyday.com
Autoren: G. Kompa, D. Supper
for i in range(1,5,1):
print(f"Ich zähle {i}")
print(f"Ich zähle nicht {i}")
for i in range(10,0,1):
print(f"Ich zähle {i}")
print(f"Ich zähle nicht {i}")
for i in range(0,10,0.5):
print(f"Ich zähle {i}")
print(f"Ich zähle nicht {i}")
Finde die Fehler in den drei for-Schleifen.
Die Beantwortung der folgenden drei Fragen hilft bei der Fehlersuche.
Autoren: G. Kompa, D. Supper
In unserem Kalender sind zum Ausgleich der Jahreslänge in regelmäßigen Abständen Schaltjahre eingebaut. Ein astronomisches Jahr hat dabei 365,24219 Kalendertage. Zur exakten Festlegung der Schaltjahre dienen folgende Regeln:
for i in range(2000,2001):
...
Autoren: D. Supper | binnendifferenziert
Mittelwert
: Seine Aufgabe besteht darin, eine bestimmte Anzahl von Werten über die Tastatur einzulesen. Die Summe der Werte soll berechnet und zusammen mit dem Mittelwert ausgegeben werden.
Frage zuerst ab wie viele Werte der Benutzer eingeben möchte. Mit der Anzahl der Werte schreibst du dann die Bedingung der for-Schleife.
Honigwabe
.ASCIIArt
.
anzahl = int(input("Wie viele Werte wollen sie eingeben? "))
for i in range(anzahl): ...
if wert%2 == ...
Autoren: D. Supper | binnendifferenziert
Drei ganzzahlige Längen, die die Seitenlängen eines rechtwinkligen Dreiecks darstellen, nennt man pythagoreisches Tripel. Es muss die Gleichung gelten, dass die Summe der Quadrate der beiden Seiten, welche an den rechten Winkel angrenzen, gleich dem Quadrat der Hypotenuse ist. (Satz des Pythagoras)
Erstelle das Programm PythagoresischesTripel
. Ermittle für die Variablen a
, b
, und c
alle passenden Werte im Bereich für a
, b
, c
von 1 bis 100.
Beispiel für ein Tripel: (3,4,5), da 3² + 4² = 5².
Benutze dafür eine dreifach verschachtelte for-Schleife, die die möglichen Werte durchläuft. Stelle sicher, dass kein Tripel doppelt vorkommt.
Autoren: D. Supper | binnendifferenziert
Schreibe das Programm Einmaleins
: Seine Aufgabe besteht darin, das kleine Einmaleins in tabellarischer Form zu erzeugen.
Für die Tabelle müssen insgesamt hundert Zahlen gedruckt werden. Das lässt vermuten, dass eine Schleife sinnvoll wäre. Die Tabelle ist aber aus zehn Zeilen mit jeweils zehn Spalten aufgebaut. Mit anderen Worten, es müssen insgesamt zehn Zeilen gedruckt werden und in jeder Zeile wiederum zehn Zahlen. In diesem Fall bietet sich eine geschachtelte Zeile zur Erzeugung der Tabelle an.
print(f"{i:1d}•{j:1d}={i*j:2d}",end=" ")
die for-Schleife, -en | Die for-Schleife (auch Zählschleife) wiederholt einen Anweisungsblock x-mal. Dabei wird ein Startwert festgelegt, eine Abbruchbedingung und die Schrittweite |
die Initialisierung, -en | hier wird der Startwert festgelegt, z.B. der Wert 6 in: for i in range(6,12,3) |
die Abbruchbedingung, -en | Sobald die Bedingung den Wert false ergibt wird die Schleife verlassen, z.B. der Wert 12 in: for i in range(6,12,3) |
die Änderung, -en | hier wird die Schrittweite festgelegt, z.B. der Wert 3 in: for i in range(6,12,3) |
die Zählvariable, -en | Variable, welche zum zählen in der for-Schleife verwendet wird, z.B. die Variable zahl in: for zahl in range(6,12,3) |
inkrementieren | i = i + 1 oder kurz i+=1 |
dekrementieren | i = i - 3 oder kurz i-=3 |
verschachtelte for-Schleife | eine for-Schleife in einer anderen for-Schleife |