Menu
Coddy logo textTech

Schrittweite

Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy — Lektion 8 von 56.

Ein Range durchläuft jeweils einen Schritt. Wenn Sie eine andere Schrittweite wünschen oder rückwärts zählen möchten, verwenden Sie stride.

Zwei Varianten: stride(from:to:by:) stoppt vor dem zweiten Wert (halboffen), stride(from:through:by:) kann diesen einschließen (geschlossen):

for n in stride(from: 0, to: 10, by: 2) {
    print(n)
}
// 0, 2, 4, 6, 8
for n in stride(from: 10, through: 0, by: -2) {
    print(n)
}
// 10, 8, 6, 4, 2, 0

Das by:-Argument muss das richtige Vorzeichen haben: positiv beim Aufwärtszählen, negativ beim Abwärtszählen. Bei einer Nichtübereinstimmung wird die Schleife null Mal ausgeführt.

challenge icon

Aufgabe

Einfach

Lies drei Ganzzahlen ein (drei Zeilen): start, end, step. Der Schritt kann positiv oder negativ sein. Der Bereich ist an beiden Enden inklusiv (verwende stride(from:through:by:)).

Gib Folgendes aus:

  1. Die Werte im Stride, verbunden mit ,
  2. Die Anzahl der erzeugten Werte

Für die Eingabe 0 / 10 / 3 ist die Ausgabe:

0,3,6,9
4

Für die Eingabe 10 / 0 / -2 ist die Ausgabe:

10,8,6,4,2,0
6

Spickzettel

Verwenden Sie stride, wenn Sie eine benutzerdefinierte Schrittweite benötigen oder rückwärts zählen möchten.

stride(from:to:by:) — halboffen (schließt den Endwert aus):

for n in stride(from: 0, to: 10, by: 2) { }
// 0, 2, 4, 6, 8

stride(from:through:by:) — geschlossen (schließt den Endwert ein):

for n in stride(from: 10, through: 0, by: -2) { }
// 10, 8, 6, 4, 2, 0

Der by:-Wert muss der Richtung entsprechen: positiv beim Aufwärtszählen, negativ beim Rückwärtszählen. Eine Nichtübereinstimmung führt zu null Iterationen.

Probier es selbst

let start = Int(readLine()!)!
let end = Int(readLine()!)!
let step = Int(readLine()!)!

// TODO: stride(from:through:by:), mit Komma verbinden, dann Anzahl ausgeben
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 Logik & Kontrollfluss