Geschlossen vs. halboffen
Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy — Lektion 7 von 56.
Swift hat zwei Range-Operatoren, die fast identisch aussehen, aber unterschiedliche Dinge bedeuten.
a...b ist der geschlossene Bereich. Er schließt b ein:
for i in 1...3 { print(i) }
// 1
// 2
// 3a..<b ist der halboffene Bereich. Er endet vor b:
for i in 1..<3 { print(i) }
// 1
// 2Halboffen ist die natürliche Wahl, wenn Sie eine Anzahl haben: 0..<arr.count deckt jeden gültigen Index des Arrays ab. Verwenden Sie geschlossen, wenn beide Enden reale Werte sind, die für Sie von Bedeutung sind (wie ein Punktebereich oder eine inklusive Notengrenze).
Aufgabe
EinfachLies zwei Ganzzahlen (zwei Zeilen) ein: a und b, wobei a <= b gilt. Gib drei Zeilen aus:
- Die Werte im geschlossenen Bereich
a...b, verbunden mit,in einer Zeile - Die Werte im halboffenen Bereich
a..<b, verbunden mit,(oder eine leere Zeile, wenn der Bereich leer ist) - Die Summe jedes Wertes im geschlossenen Bereich
Für die Eingabe 1 und dann 5 lautet die Ausgabe:
1,2,3,4,5
1,2,3,4
15Spickzettel
Bereichsoperatoren in Swift:
a...b— geschlossener Bereich, beinhaltet sowohlaals auchba..<b— halboffener Bereich, beinhalteta, stoppt aber vorb
for i in 1...3 { print(i) } // 1, 2, 3
for i in 1..<3 { print(i) } // 1, 2Verwenden Sie 0..<arr.count, um jeden gültigen Array-Index abzudecken. Verwenden Sie geschlossene Bereiche, wenn beide Endpunkte bedeutungsvolle Werte sind.
Probier es selbst
let a = Int(readLine()!)!
let b = Int(readLine()!)!
// TODO: Geschlossenen Bereich verbunden ausgeben, halboffenen Bereich verbunden ausgeben, Summe des geschlossenen Bereichs
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 TrimmenSuchen in StringsTeilen und ZusammenfügenTeilstrings ersetzenWiederholung – Benutzernamen-Check4Mengen
Mengen erstellenVereinigung und SchnittmengeDifferenz und symmetrische DifferenzTeilmenge und ObermengeRückblick – Tag-Filter7Projekt - Habit Tracker
ProjektübersichtAls erledigt markieren2Bereiche & Schrittweiten
Geschlossen vs. halboffenSchrittweiteRange-MethodenRanges in SwitchRückblick – Kalender-Grid5Funktionen höherer Ordnung Teil 1
MapFilterReduceVerkettung von map, filter, reduceRückblick – Wortstatistiken