While-Schleife
Teil des Abschnitts Grundlagen 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:
codeDer Code wird nur ausgeführt, wenn die Bedingung True ist.
Die Bedingung wird typischerweise mithilfe von Vergleichsoperatoren wie <= (kleiner oder gleich), >= (größer oder gleich), < (kleiner als), > (größer als) oder == (gleich) gebildet. Die Schleife läuft weiter, solange dieser Vergleich zu True ausgewertet wird, und stoppt, sobald er zu False wird.
Innerhalb des Schleifenkörpers musst du normalerweise die überprüfte Variable aktualisieren. Dies geschieht mit Operatoren für zusammengesetzte Zuweisungen 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 niemals ändern, und die Schleife würde ewig laufen.
Es gibt viele Anwendungsfälle, in denen eine while-Schleife das Problem lösen würde, die for-Schleife jedoch nicht.
Betrachte zum Beispiel dieses Problem:
Finde die kleinste Zweierpotenz, die größer als eine bestimmte Zahl ist.
Um das Problem 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 mithilfe eines Operators für erweiterte Zuweisungen. Sobald power_of_two number überschreitet, wird die Bedingung zu False, und die Schleife wird beendet.
Aufgabe
AnfängerSchreibe ein Programm, das eine Eingabe erhält, eine Gleitkommazahl.
Verwende eine While-Schleife, um die Eingabe durch 2 zu teilen, solange die Zahl größer oder gleich 3.5 ist.
Gib die erste Zahl aus, die kleiner als 3.5 ist.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Logische Operatoren Teil 42Variablen
ZahlenStringsBooleanBenennungskonventionenLeere VariablenRückblick - Variablen initialisieren5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakContinueWiederholung - FakultätDie Range-FunktionVerschachtelte SchleifeWiederholung - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenWiederholung – Einfache MathematikVergleichsoperatoren6Grundlagen Ein- und Ausgabe
AusgabeAusgabe mit VariablenEingabeTypumwandlungWiederholung - Bis 120Wiederholung - Wahr oder Falsch9Funktionen
Funktion deklarierenArgumenteRückgabeWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandardwerte12Iterieren über Sequenzen
Iterieren über ElementeDie Enumerate-FunktionIterieren über Strings Teil 1Iterieren über Strings Teil 2Übe selbstständig: Online-Python-Compiler