Menu
Coddy logo textTech

Bereiche in Schleifen

Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 48 von 86.

Du hast Bereiche wie 1...5 in deinen Schleifen verwendet, aber Swift bietet mehr Flexibilität bei der Definition dieser Bereiche. Lass uns die verschiedenen Bereichstypen und eine nützliche Technik zum Rückwärtszählen erkunden.

Der geschlossene Range-Operator (...) schließt beide Endpunkte ein:

for i in 1...3 {
    print(i)
}
// Ausgabe: 1, 2, 3

Der halboffene Bereichsoperator (..<) schließt die obere Grenze aus, was besonders nützlich ist, wenn man mit nullbasierten Indizes arbeitet:

for i in 0..<3 {
    print(i)
}
// Ausgabe: 0, 1, 2

Manchmal müssen Sie in umgekehrter Reihenfolge iterieren. Die Methode reversed() ermöglicht es Ihnen, rückwärts durch einen Bereich zu iterieren:

for i in (1...3).reversed() {
    print(i)
}
// Ausgabe: 3, 2, 1

Beachten Sie die Klammern um den Bereich – sie sind erforderlich, wenn Sie reversed() für einen Bereich aufrufen. Diese Technik ist perfekt für Countdowns oder wenn Sie Elemente vom letzten zum ersten verarbeiten müssen.

challenge icon

Aufgabe

Einfach

Schreibe eine Funktion countdown, die n entgegennimmt und einen String zurückgibt, der einen Countdown von n bis 1 enthält, gefolgt von "Go!".

Verwende die Methode reversed() auf einem Bereich, um rückwärts zu iterieren und den Countdown-String zu erstellen.

Logik:

  • Erstelle einen Bereich von 1 bis n und kehre ihn um
  • Erstelle einen String, in dem jede Zahl durch einen Zeilenumbruch getrennt ist
  • Füge "Go!" in der letzten Zeile hinzu

Parameter:

  • n (Int): Die Startzahl für den Countdown (1 oder größer)

Rückgabewert: Ein String, bei dem jede Countdown-Zahl in einer eigenen Zeile steht und der mit "Go!" endet (String). Format:

3
2
1
Go!

Zum Beispiel, wenn n gleich 3 ist, gibt die Funktion "3\n2\n1\nGo!" zurück.

Spickzettel

Swift bietet zwei Bereichsoperatoren für Schleifen:

Der geschlossene Bereichsoperator (...) schließt beide Endpunkte ein:

for i in 1...3 {
    print(i)
}
// Output: 1, 2, 3

Der halboffene Bereichsoperator (..<) schließt die obere Grenze aus:

for i in 0..<3 {
    print(i)
}
// Output: 0, 1, 2

Um rückwärts durch einen Bereich zu iterieren, verwenden Sie die Methode reversed():

for i in (1...3).reversed() {
    print(i)
}
// Output: 3, 2, 1

Hinweis: Klammern um den Bereich sind erforderlich, wenn reversed() aufgerufen wird.

Probier es selbst

func countdown(n: Int) -> String {
    // Code hier schreiben
}
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 Grundlagen