Schrittweite
Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy. Lektion 8 von 56.
Ein Bereich geht Schritt für Schritt. Wenn du eine andere Schrittweite verwenden oder rückwärts zählen möchtest, verwende stride.
Zwei Varianten: stride(from:to:by:) stoppt vor dem zweiten Wert (halb-offen), stride(from:through:by:) kann ihn einschließen (geschlossen):
for n in stride(from: 0, to: 10, by: 2) {
print(n)
}
// 0, 2, 4, 6, 8for n in stride(from: 10, through: 0, by: -2) {
print(n)
}
// 10, 8, 6, 4, 2, 0Das Argument by: muss das richtige Vorzeichen haben: positiv beim Hochzählen, negativ beim Herunterzählen. Bei einer Nichtübereinstimmung wird die Schleife nullmal ausgeführt.
Aufgabe
EinfachLies drei Ganzzahlen (drei Zeilen) ein: start, end, step. Der Schritt kann positiv oder negativ sein. Der Bereich ist an beiden Enden inklusiv (verwende stride(from:through:by:)).
Gib aus:
- Die Werte im Schritt, verbunden mit
, - Die Anzahl der erzeugten Werte
Für die Eingabe 0 / 10 / 3 lautet die Ausgabe:
0,3,6,9
4Für die Eingabe 10 / 0 / -2 lautet die Ausgabe:
10,8,6,4,2,0
6Probier 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
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Kontrollfluss
1Strings im Detail
Zählen und IndizesGroß-/Kleinschreibung und TrimSuchen in StringsAufteilen und ZusammenfügenTeilstrings ersetzenRückblick – Benutzernamen prüfen4Mengen
Mengen erstellenVereinigung und SchnittmengeSubtraktion und symmetrische DifferenzTeilmenge und ObermengeWiederholung – Tag-Filter7Projekt – Gewohnheitstracker
ProjektübersichtAls erledigt markieren2Bereiche & Schrittweiten
Geschlossen vs. halboffenSchrittweiteBereichsmethodenBereiche in SwitchRückblick – Kalender-Raster5Funktionen höherer Ordnung Teil 1
MapFilterReduceVerketten von Map, Filter und ReduceRückblick – WortstatistikÜbe selbstständig: Swift-Playground