Menu
Coddy logo textTech

While-Schleife

Teil des Abschnitts Fundamentals der Python-Journey von Coddy. Lektion 36 von 77.

Eine while-Schleife unterscheidet sich von der for-Schleife. Eine for-Schleife ermöglicht es uns, über einen bestimmten range zu iterieren, während eine while-Schleife es uns ermöglicht, so lange zu iterieren, wie eine bestimmte condition erfüllt ist.

Um eine while-Schleife zu verwenden, schreibe:

while condition:
	code

Der Code wird nur ausgeführt, wenn die condition True ist.

Die Condition wird typischerweise mit Vergleichsoperatoren wie <= (kleiner oder gleich), >= (größer oder gleich), < (kleiner), > (größer) oder == (gleich) gebildet. Die Loop läuft so lange weiter, wie dieser Vergleich True ergibt, und stoppt, sobald er zu False wird.

Innerhalb des Schleifenkörpers musst du normalerweise die geprüfte Variable **aktualisieren** (update). Dies geschieht mit **kombinierten Zuweisungsoperatoren** wie += (Addieren und Zuweisen), -= (Subtrahieren und Zuweisen), *= (Multiplizieren und Zuweisen) oder /= (Dividieren und Zuweisen). Zum Beispiel ist x *= 2 eine Kurzform für x = x * 2. Ohne die Aktualisierung der Variable würde sich die Bedingung (condition) nie ändern und die Schleife (loop) würde ewig laufen.

Es gibt viele Anwendungsfälle, in denen ein while das Problem lösen würde, eine for-Schleife jedoch nicht.

Betrachten Sie beispielsweise dieses Problem:

Finden Sie die kleinste power_of_two, die größer als eine gegebene number ist.

Um es zu lösen, verwenden wir eine while-Schleife, die die aktuelle Zweierpotenz wiederholt mit 2 multipliziert, bis sie größer als die angegebene Zahl ist:

number = 27
power_of_two = 1

while power_of_two <= number:
    power_of_two *= 2

print(power_of_two)

Hier ist power_of_two <= number die `condition`, die einen Vergleichsoperator verwendet, und power_of_two *= 2 nimmt das `update` der `variable` in jeder Iteration mit einem erweiterten Zuweisungsoperator vor. Sobald power_of_two den Wert von number überschreitet, wird die `condition` zu False und die `loop` stoppt.

challenge icon

Aufgabe

Anfänger

Schreibe ein Programm, das eine float-Zahl als input erhält.

Verwende eine while-Schleife, um den input durch 2 zu teilen, solange number größer oder gleich 3.5 ist.

Gib die erste number aus, die kleiner als 3.5 ist.

Probier es selbst

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Fundamentals

Übe selbstständig: Online-Python-Compiler