Die for-Schleife
Schleifen und Listen gehören zusammen. Mit einer while-Schleife könntest du die Indizes einer Liste durchgehen, von 0 bis zum letzten, und jedes Element lesen:
sportarten = ["Fußball", "Tennis", "Golf"]
index = 0
while index < len(sportarten):
print(sportarten[index])
index += 1Das gibt Folgendes aus:
Fußball
Tennis
GolfDas funktioniert, aber du musst dich selbst um den Index kümmern. Alle Elemente einer Liste durchzugehen ist so häufig, dass Python dafür eine einfachere Schleife hat, for:
sportarten = ["Fußball", "Tennis", "Golf"]
for sportart in sportarten:
print(sportart)Fußball
Tennis
GolfLies es als „für jede sportart in sportarten“. In jeder Iteration enthält die Variable sportart das nächste Element der Liste: zuerst "Fußball", dann "Tennis" und dann "Golf". Nach dem letzten Element endet die Schleife. Du brauchst weder einen Index noch len(), also kannst du dabei auch nichts falsch machen.
Die Zeile mit for erstellt die Variable sportart für dich, und ihren Namen wählst du selbst: for x in sportarten: funktioniert genauso. Eine gute Gewohnheit ist, sie nach einem Element der Liste zu benennen: sportart in sportarten, name in namen, preis in preise. Dann liest sich der Code fast wie ein Satz.
Ein häufiger Ausrutscher ist, in der Schleife die Liste statt des Elements auszugeben:
sportarten = ["Fußball", "Tennis", "Golf"]
for sportart in sportarten:
print(sportarten)['Fußball', 'Tennis', 'Golf']
['Fußball', 'Tennis', 'Golf']
['Fußball', 'Tennis', 'Golf']Die Schleife läuft weiterhin dreimal, gibt aber jedes Mal die ganze Liste aus. Verwende in der Schleife das Element: sportart, nicht sportarten.
Wie if und while endet die Zeile mit for mit einem Doppelpunkt. Ohne ihn hält Python mit SyntaxError: expected ':' an.
So schreibst du es:
Anweisungen
- 1
Schreibe eine
for-Schleife, die jedes Element der Listemitspielerin einer eigenen Zeile ausgibt. - 2
Schreibe darunter eine zweite Schleife, die die Mitspieler mit ihren Nummern ausgibt:
1. Jonas,2. Niklas,3. Matthiasund4. Emilia. Erstelle vor der Schleife eine Variablezahlmit dem Wert1. Gib in der Schleife die Nummer und den Namen mit einem F-String aus, zum Beispielf"{zahl}. {person}", und erhöhe dannzahlum 1.