Skip to content

For-In-Schleife

Programmieren

mit einer for-in-Schleife werden Elemente aus einer Liste genommen. Für jedes Element wird der Schleifeninhalt ausgeführt. Das aktuelle Element ist im Schleifeninhalt mit dem im Schleifenkopf gesetzten Namen ansprechbar

Für jedes Element mache …

Syntax

python
for element in liste:
	#mach etwas mit element
liste
Name der Variable woraus die Elemente genommen werden sollen
element
Name welche die Elemente im Schleifeninhalt erhalten

für jedes Element der Liste mache…

Beispiele

Beispiel: Summe und Durchschnitt

python
ausgaben = [12.50, 4.25, 9.90, 2.50]

summe = 0
for ausgabe in ausgaben:
	summe = summe + ausgabe

durchschnitt = summe/len(ausgaben)

print("Gesamte Ausgaben:", summe)
print(" im Durchschnitt:", durchschnitt)

Beispiel: Listen erzeugen

python
[x * 2 for x in range(10)]
[0 for x in range(20)]
[[x-y for y in range(6)] for x in range(6)]

Aufgaben

Aufgabe: Text-Diagramm

Erstelle ein Textdiagramm, indem du die Zahlen in einer Liste mit dem Print-Befehl und einer Zeichenkette basierend auf der grösse der Zahl.

Wenn man also die Liste als Diagramm ausgibt, sollte in etwa das untenstehende erscheinen:

#######
##
#####
python
def diagramm(daten):
	print("####")  # muss natürlich angepasst werden

diagramm([7,2,5])

Aufgabe: Minimum/Maximum

Gehe in einer for-Schleife die Zahlen einer Liste durch und bestimme die kleinste und die grösste dieser Zahlen.

python
zahlen = [2,6,12,34,2.4,-1.4,13,12,-4,9]
for x in zahlen:
    pass

print("grösste Zahl: ...")
print("kleinste Zahl: ...")

Aufgabe: Schachbrett

Stelle ein Schachbrett und die Anfangsposition der Schachfiguren als zweidimensionale Liste von str dar, so dass auf ein einzelnes Feld mit dessen Koordinaten zugegriffen werden kann:

python
schachbrett = []  # ergänzen

schachbrett[x][y]

Die einzelnen Figuren sollen je durch einen Buchstaben dargestellt werden, Schwarz und Weiss unterscheiden sich durch Gross- und Kleinbuchstaben.

Gib das Schachbrett mit Hilfe einer for-in-Schleife aus.

Gymnasium Kirchenfeld, fts & ros