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 weiter zu iterieren, wie eine bestimmte Bedingung erfüllt ist.

Um eine while-Schleife zu verwenden, schreibe:

while condition:
	code

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

Die Bedingung wird normalerweise mit Vergleichsoperatoren gebildet, wie zum Beispiel <= (kleiner oder gleich), >= (größer oder gleich), < (kleiner als), > (größer als) oder == (gleich). Die Schleife läuft weiter, solange dieser Vergleich als True ausgewertet wird, und stoppt, sobald er False wird.

Innerhalb des Schleifenkörpers müssen Sie normalerweise die überprüfte Variable aktualisieren. Dies geschieht mit erweiterten Zuweisungsoperatoren wie += (Addieren und Zuweisen), -= (Subtrahieren und Zuweisen), *= (Multiplizieren und Zuweisen) oder /= (Dividieren und Zuweisen). Zum Beispiel ist x *= 2 eine Kurzschreibweise für x = x * 2. Ohne die Aktualisierung der Variablen würde sich die Bedingung nie ändern und die Schleife würde ewig laufen.

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

Betrachten Sie zum Beispiel dieses Problem:

Finden Sie die kleinste Zweierpotenz, die größer als eine gegebene Zahl ist.

Um dies 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 Bedingung, die einen Vergleichsoperator verwendet, und power_of_two *= 2 aktualisiert die Variable in jeder Iteration unter Verwendung eines erweiterten Zuweisungsoperators. Sobald power_of_two den Wert von number übersteigt, wird die Bedingung zu False und die Schleife stoppt.

challenge icon

Aufgabe

Anfänger

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

Verwende eine while-Schleife, um die Eingabe so lange durch 2 zu teilen, wie die Zahl größer oder gleich 3.5 ist.

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

Spickzettel

Eine while-Schleife läuft, solange eine Bedingung True ist:

while condition:
    code

Verwenden Sie Vergleichsoperatoren, um die Bedingung zu bilden: ==, <, >, <=, >=.
Verwenden Sie erweiterte Zuweisungsoperatoren, um die Variable bei jeder Iteration zu aktualisieren: +=, -=, *=, /=.

number = 27
power_of_two = 1

while power_of_two <= number:
    power_of_two *= 2  # Variable aktualisieren, um eine Endlosschleife zu vermeiden

print(power_of_two)  # 32

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