Lädt...

Die while-Schleife

Auf der vorigen Seite lief for über Werte, die schon da waren: Zahlen aus range oder die Buchstaben von tea. while bringt keine fertige Liste mit. Vor den eingerückten Zeilen, vor jedem Durchgang und auch vor dem ersten, steht eine Frage. True heißt: diese Zeilen laufen. Ändert sich die Zahl innen nicht, wird die Frage nie False, und die Schleife hört nicht auf.

Setze cups auf 0. Die Frage lautet cups < 3. Null besteht sie, also wird 0 geschrieben und cups geht um eins weiter. Dasselbe mit 1, dann mit 2. Nach der 2 ist cups gleich 3. Die Frage fällt durch. Die 3 steht nicht auf dem Bildschirm. Sie liegt in cups, und genau deshalb ist die Frage durchgefallen.

0, 1 und 2, dann halt

python
cups = 0
while cups < 3:
    print(cups)
    cups = cups + 1

Drei Zeilen: 0, dann 1, dann 2. Danach hält cups die 3. Die Schleife selbst schreibt diese 3 nicht, denn print kommt nur dran, wenn die Frage besteht. Willst du die 3 sehen, schreib print auf gleicher Höhe wie while, außerhalb der Schleife.

Schon zu groß, die eingerückten Zeilen bleiben still

Setze cups vor while auf 3. Die erste Frage fällt sofort durch. Die Zeilen in der Schleife laufen kein einziges Mal. done steht auf gleicher Höhe wie while, gehört also nicht zur Schleife, und wird einmal geschrieben, nachdem while entschieden hat zu stoppen.

Schleife ausgelassen, dann done

python
cups = 3
while cups < 3:
    print(cups)
    cups = cups + 1
print("done")

Auf dem Bildschirm steht nur done. Keine Zahl. print(cups) lag in der Schleife, und die Schleife hat nicht angefangen.

Die Zeile cups = cups + 1 schiebt die Zahl weiter, bis die Frage irgendwann durchfällt. Nimm sie weg: cups bleibt 0, cups < 3 bleibt True, und 0 wird immer wieder geschrieben. Das Programm kommt aus dieser Schleife nicht heraus.

Nach while gehört ein Doppelpunkt, wie nach for und if. Die Zeilen, die sich wiederholen, stehen vier Leerzeichen weiter ein. Das Wort selbst ist klein. While mit großem W ist ein Name, den Python nicht kennt, und das Programm stoppt.

Die nächste Seite kann früher aufhören

Diese Seite wartet, bis die Frage selbst False wird. Die nächste Seite macht etwas anderes: die Schleife abbrechen, oder eine Runde überspringen, bevor die Frage von allein durchfällt.

Erst raten

  1. cups beginnt bei 0, die Frage ist cups < 3. Welche Zahlen werden geschrieben?
  2. Nach der Schleife: welche Zahl liegt in cups, obwohl sie nicht geschrieben wurde?
  3. cups beginnt bei 3, done steht auf gleicher Höhe wie while. Was erscheint?
  4. Du streichst cups = cups + 1. Endet die Schleife?

Wo man sich vertut

  • Die letzte 3 für eine geschriebene Zeile halten
  • Eine Zahl erwarten, obwohl cups vor while schon 3 ist
  • cups = cups + 1 weglassen und auf eine letzte Zeile warten, die nie kommt
  • Den Doppelpunkt nach while vergessen
  • While mit großem W schreiben

Das nimmst du mit

while fragt vor jedem Durchgang. Die eingerückten Zeilen laufen nur, solange die Antwort True ist.
Von 0, mit cups < 3, siehst du 0, 1 und 2. cups ist dann 3, und diese 3 wird nicht geschrieben.
Ist die Frage von Anfang an False, laufen jene Zeilen nie, und eine Zeile auf Höhe von while läuft einmal.
Ohne cups = cups + 1 bleibt die Frage True, und die Schleife endet nicht.
Die nächste Seite kann die Schleife abbrechen oder eine Runde überspringen.

🧠 Testen Sie Ihr Wissen

Bereit zum Start

Testen Sie Ihr Wissen

Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen

❓
5
Fragen
🎯
70%
Zum Bestehen
♾️
∞
Zeit
🔄
∞
Versuche

📝 Anweisungen

  • Lesen Sie jede Frage sorgfältig
  • Wählen Sie die beste Antwort für jede Frage
  • Sie können das Quiz so oft wiederholen, wie Sie möchten
  • Ihr Fortschritt wird oben angezeigt