Sitzung 4 – Wiederholen: while, for und Listen · Vorstellung Mini-Projekt 1
Wintersemester 2026/27 · Informatik · MBM
Vergleiche
==, <, >= … ergeben True oder False
if, elif, else
Der erste wahre Zweig läuft – die Reihenfolge zählt
and, or, not
Bedingungen verknüpfen: alter < 12 or alter > 65
Mini-Projekt 1
Geplant mit EVA und Ablaufplan, gebaut im Tandem, abgegeben im Git
Bei Tempo und Interaktivität ist die Mitte (3) „genau richtig“
Sitzung 3 in Zahlen
Deshalb heute
Die Leiste oben zeigt Ihnen die ganze Sitzung, wo wir gerade stehen
Zwei bis drei Tandems, je etwa 10 Minuten
if?Fehler sind willkommen: An ihnen lernen alle am meisten
Darauf achten wir
int())?Für die Zuhörenden
So sah Variante B von Mini-Projekt 1 aus
geheim = 7
tipp = int(input("Versuch 1: "))
if tipp == geheim:
print("Richtig!")
tipp = int(input("Versuch 2: "))
if tipp == geheim:
print("Richtig!")
tipp = int(input("Versuch 3: "))
if tipp == geheim:
print("Richtig!")Versuch 1: 4 Versuch 2: 7 Richtig! Versuch 3: 9
Das fällt auf
Die Lösung: eine Schleife
Eine Schleife wiederholt Zeilen – so oft wie nötig.
while = „solange“
zahl = 3
while zahl > 0:
print(zahl)
zahl = zahl - 1
print("Los!")3 2 1 Los!
So ist while aufgebaut
if: Bedingung, Doppelpunkt, eingerückter BlockSpielen Sie Schleifen auf Papier durch, bevor Sie sie ausführen
zahl = 3
while zahl > 0:
print(zahl)
zahl = zahl - 1
print("Los!")| Runde | zahl vorher | zahl > 0? | Ausgabe |
|---|---|---|---|
| 1 | 3 | True | 3 |
| 2 | 2 | True | 2 |
| 3 | 1 | True | 1 |
| – | 0 | False | Schleife endet → Los! |
So lesen Sie Schleifen
Vor jeder Runde prüft Python die Bedingung neu. Ist sie falsch, geht es nach dem Block weiter.
So stürzt Ihr Spiel bei falschen Eingaben nicht mehr ab
antwort = input("Weiter? (ja/nein) ")
while antwort != "ja" and antwort != "nein":
print("Bitte nur ja oder nein.")
antwort = input("Weiter? (ja/nein) ")
print(f"Sie haben {antwort} gewählt.")Weiter? (ja/nein) vielleicht Bitte nur ja oder nein. Weiter? (ja/nein) ja Sie haben ja gewählt.
Typisches Muster
Ausprobieren
Prüfen Sie eine Zahl von 1 bis 9: while zahl < 1 or zahl > 9:
Jede while-Schleife braucht etwas, das sie irgendwann beendet
zahl = 3
while zahl > 0:
print(zahl)
print("Los!")Was fehlt hier?
zahl = zahl - 1 fehltzahl bleibt 3, die Bedingung bleibt wahrNotbremse
Strg + C im Terminal beendet das Programm.
Erst die Testtabelle ausfüllen, dann programmieren
1a · Eingabe prüfen
1b · Zahlenraten ohne Grenze
Aufgabe: Übung 12 · Eintragen in der Reflexion →
Weiter um 16:15 Uhr
for = „für jedes“
for i in range(5):
print(f"Runde {i}")Runde 0 Runde 1 Runde 2 Runde 3 Runde 4
So ist for aufgebaut
range(5) liefert die Zahlen 0, 1, 2, 3, 4i nimmt nacheinander jede dieser Zahlen anDer Countdown von vorhin – jetzt mit for
| Aufruf | Zahlen | Bedeutung |
|---|---|---|
range(5) | 0 1 2 3 4 | von 0 bis vor 5 |
range(1, 6) | 1 2 3 4 5 | von 1 bis vor 6 |
range(0, 10, 2) | 0 2 4 6 8 | in Zweierschritten |
range(5, 0, -1) | 5 4 3 2 1 | rückwärts |
Die Grenze gehört nicht dazu
range(1, 6) endet bei 5. Für „1 bis n“ schreiben Sie range(1, n + 1).
for i in range(5, 0, -1):
print(i)
print("Los!")5 4 3 2 1 Los!
summe = 0
for zahl in range(1, 5):
summe = summe + zahl
print(f"Summe: {summe}")Summe: 10
| Runde | zahl | summe danach |
|---|---|---|
| 1 | 1 | 0 + 1 = 1 |
| 2 | 2 | 1 + 2 = 3 |
| 3 | 3 | 3 + 3 = 6 |
| 4 | 4 | 6 + 4 = 10 |
Muster: Sammelvariable
Vor der Schleife summe = 0, in der Schleife dazurechnen, danach ausgeben.
for
while
for. Wissen Sie nur, wann Schluss ist? Dann while.Statt wert1, wert2, wert3 … eine Liste
einkauf = ["Brot", "Milch", "Äpfel"]
print(einkauf)
print(len(einkauf))
print(einkauf[0])['Brot', 'Milch', 'Äpfel'] 3 Brot
So ist eine Liste aufgebaut
[ ], Werte durch Kommas getrenntlen(einkauf) zählt die Einträgeeinkauf[0] holt den ersten Eintrag| Index | Wert | Zugriff |
|---|---|---|
| 0 | "Brot" | einkauf[0] |
| 1 | "Milch" | einkauf[1] |
| 2 | "Äpfel" | einkauf[2] |
| –1 | "Äpfel" | einkauf[-1] (letzter) |
einkauf = ["Brot", "Milch", "Äpfel"]
print(einkauf[3])IndexError: list index out of range
Drei Einträge – Index 0 bis 2
Den Index 3 gibt es nicht. Der letzte Index ist immer len(liste) - 1.
Die Liste merkt sich alles, was dazukommt
einkauf = []
einkauf.append("Brot")
einkauf.append("Milch")
print(einkauf)
print(f"{len(einkauf)} Einträge")['Brot', 'Milch'] 2 Einträge
So funktioniert append
[] ist eine leere Listeeinkauf.append("Brot") hängt einen Eintrag hinten anfor funktioniert mit range – und mit jeder Liste
noten = [2, 1, 3, 2]
summe = 0
for note in noten:
print(f"Note: {note}")
summe = summe + note
print(f"Durchschnitt: {summe / len(noten)}")Note: 2 Note: 1 Note: 3 Note: 2 Durchschnitt: 2.0
Jeder Eintrag einmal
for note in noten: – note ist nacheinander 2, 1, 3, 2| Fehler | Meldung | Lösung |
|---|---|---|
while x > 0 ohne Doppelpunkt | SyntaxError: expected ':' | Doppelpunkt ergänzen |
| Zähler wird nie geändert | keine – das Programm hört nicht auf | Strg+C, dann z. B. zahl = zahl - 1 |
liste[3] bei drei Einträgen | IndexError: list index out of range | Index ab 0 zählen |
for i in range(1, 10) für 1 bis 10 | keine – die 10 fehlt | range(1, 11) |
print(einkauf(0)) | TypeError: 'list' object is not callable | eckige Klammern: einkauf[0] |
Zwei dieser Fehler meldet Python gar nicht. Dagegen hilft nur Testen.
Wer fertig ist, hilft dem Nachbarn – erklären festigt am meisten
2 · for und range
3 · Listen
appendAufgaben: Übung 13, 14 · Eintragen in der Reflexion →
Der Entwurf bleibt in Ihrem Browser gespeichert
Festhalten
Zum Schluss HTML kopieren und in Mahara einfügen.
Abschnitte ergänzen, Feedback geben → HTML kopieren → in Mahara einfügen

Funktionen – und Mini-Projekt 2: ein größeres Spiel mit Schleifen, Listen und Funktionen.
Icons: Lucide (ISC-Lizenz) · Abbildungen: eigene Darstellung