Menu
Coddy logo textTech

Zählen und Indizes

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

Du hast str.count in den Grundlagen verwendet, um die Anzahl der Zeichen zu erhalten. Weiterführend bedeutet dies zu verstehen, dass ein Swift-String eine Sequenz von Characters ist und kein flaches Array von Bytes.

let greeting = "Hello"
print(greeting.count)            // 5
print(greeting.first!)           // "H"
print(greeting.last!)            // "o"
print(greeting.isEmpty)          // false

Sie können einen String nicht mit einer Ganzzahl indizieren. Um ein Zeichen an einer bestimmten Position abzurufen, fragen Sie den String nach einem index, der von seinem Anfang versetzt ist:

let i = greeting.index(greeting.startIndex, offsetBy: 1)
print(greeting[i])               // "e"

Die Eigenschaften first, last und isEmpty sind die Werkzeuge für den Alltag. Greifen Sie nur dann auf Indizes zurück, wenn Sie wirklich eine bestimmte Position benötigen.

challenge icon

Aufgabe

Anfänger

Lies eine einzelne Eingabezeile ein. Gib drei Zeilen aus:

  1. Die Anzahl der Zeichen in der Eingabe
  2. Das erste und das letzte Zeichen, getrennt durch ein Leerzeichen, z. B. H o für Hello
  3. true, wenn das erste und das letzte Zeichen der gleiche Buchstabe sind (Groß-/Kleinschreibung ignorieren), andernfalls false (z. B. Anna, RadaR)

Gehe davon aus, dass die Eingabe mindestens ein Zeichen enthält.

Für die Eingabe RadaR lautet die Ausgabe:

5
R R
true

Spickzettel

Ein Swift-String ist eine Sequenz von Characters. Wichtige Eigenschaften:

let s = "Hello"
s.count       // 5
s.first!      // "H"
s.last!       // "o"
s.isEmpty     // false

Um auf ein Zeichen an einer bestimmten Position zuzugreifen, verwenden Sie einen Index-Offset:

let i = s.index(s.startIndex, offsetBy: 1)
print(s[i])   // "e"

Zeichenvergleich ohne Berücksichtigung der Groß-/Kleinschreibung:

s.first!.lowercased() == s.last!.lowercased()

Probier es selbst

let line = readLine()!

// TODO: print count, first/last, and same-letter-ignoring-case check
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