Repeat-While-Schleife
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 44 von 86.
Die repeat-while-Schleife ähnelt der while-Schleife, jedoch mit einem wesentlichen Unterschied: Sie prüft die Bedingung nach der Ausführung des Codeblocks, nicht davor. Dies garantiert, dass der Schleifenkörper mindestens einmal ausgeführt wird.
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// Ausgabe: 1, 2, 3Beachten Sie die Struktur: Das Schlüsselwort repeat steht an erster Stelle, gefolgt vom Codeblock, und die Bedingung erscheint am Ende nach while.
Der Unterschied wird deutlich, wenn die Bedingung von Anfang an falsch ist:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// Ausgabe: This runs once!Obwohl number < 5 falsch ist, wird die Nachricht dennoch einmal ausgegeben. Bei einer normalen while-Schleife würde überhaupt nichts ausgegeben werden.
Verwenden Sie repeat-while, wenn der Code mindestens einmal ausgeführt werden soll, bevor geprüft wird, ob er fortgesetzt werden soll, wie zum Beispiel beim Abfragen einer Benutzereingabe, bis diese gültige Daten liefert.
Aufgabe
EinfachLies eine Ganzzahl n von der Eingabe. Verwende eine repeat-while-Schleife, um alle Zahlen von 1 bis n auszugeben, jede in einer neuen Zeile.
Du erhältst die folgende Eingabe:
- Eine einzelne Zeile, die eine Ganzzahl als String enthält (z. B.
"5")
Lies die Eingabe, konvertiere sie in einen Int und verwende eine repeat-while-Schleife, um jede Zahl beginnend bei 1 auszugeben.
Anforderungen:
- Starte einen Zähler bei
1 - Gib den Zählerwert aus
- Erhöhe den Zähler
- Fahre fort, solange der Zähler kleiner oder gleich
nist
Wenn die Eingabe zum Beispiel 4 ist, sollte die Ausgabe wie folgt aussehen:
1
2
3
4Spickzettel
Die repeat-while-Schleife prüft die Bedingung nach der Ausführung des Codeblocks und garantiert so, dass der Schleifenkörper mindestens einmal ausgeführt wird.
Syntax:
repeat {
// Codeblock
} while conditionBeispiel:
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// Ausgabe: 1, 2, 3Hauptunterschied zur while-Schleife:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// Ausgabe: This runs once!Selbst wenn die Bedingung von Anfang an falsch ist, wird der Codeblock einmal ausgeführt. Eine reguläre while-Schleife würde in diesem Fall überhaupt nicht ausgeführt werden.
Verwenden Sie repeat-while, wenn der Code mindestens einmal ausgeführt werden muss, bevor geprüft wird, ob er fortgesetzt werden soll.
Probier es selbst
// Eingabe lesen und in Int umwandeln
let n = Int(readLine()!)!
// TODO: Schreibe deinen Code unten
// Starte einen Zähler bei 1 und verwende eine repeat-while-Schleife, um Zahlen von 1 bis n auszugebenDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorZusammengesetzte ZuweisungWiederholung - Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypumwandlungWiederholung - Bis 120Wiederholung - Wahr oder Falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgument-LabelsWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandardwerte13Iterieren über Sequenzen
Iterieren über ElementeDie enumerate-MethodeIterieren über Strings Teil 1Iterieren über Strings Teil 22Variablen
Let vs. VarTyp-AnnotationenZahlenStringsBooleansBenennungskonventionenZusammenfassung – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungs-Splitter
WillkommensnachrichtEingabe abfragen14Arrays für Fortgeschrittene
Array Slicing Teil 1Array Slicing Teil 2Sequenz-OperatorenDie Contains-Methode3Optionals
Was sind OptionalsUnwrapping mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Unwrapping6Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Wertebereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueWiederholung – FakultätBereiche in SchleifenVerschachtelte SchleifeWiederholung – Dynamische Eingabe