Liczba i indeksy
Część sekcji Logika i przepływ programu ścieżki Swift w Coddy. Lekcja 1 z 56.
W sekcji podstaw użyłeś str.count, aby uzyskać liczbę znaków. Aby pójść dalej, musisz zrozumieć, że wartość String w Swift jest sekwencją znaków, a nie płaską tablicą bajtów.
let greeting = "Hello"
print(greeting.count) // 5
print(greeting.first!) // "H"
print(greeting.last!) // "o"
print(greeting.isEmpty) // falseNie możesz indeksować ciągu znaków za pomocą liczby całkowitej. Aby pobrać znak z określonej pozycji, poproś ciąg znaków o index — przesunięcie względem jego początku:
let i = greeting.index(greeting.startIndex, offsetBy: 1)
print(greeting[i]) // "e"Właściwości first, last i isEmpty to narzędzia codziennego użytku. Sięgaj po indeksy tylko wtedy, gdy naprawdę potrzebujesz konkretnej pozycji.
Wyzwanie
PoczątkującyWczytaj jeden wiersz danych wejściowych. Wypisz trzy wiersze:
- Liczbę znaków w danych wejściowych
- Pierwszy i ostatni znak oddzielone spacją, np.
H odlaHello true, gdy pierwszy i ostatni znak to ta sama litera bez uwzględniania wielkości liter, w przeciwnym raziefalse(np.Anna,RadaR)
Załóż, że dane wejściowe zawierają co najmniej jeden znak.
Dla danych wejściowych RadaR wynikiem jest:
5
R R
trueSpróbuj swoich sił
let line = readLine()!
// TODO: wypisz liczbę znaków, pierwszy i ostatni znak oraz sprawdź, czy są taką samą literą bez względu na wielkość liter
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Dogłębnie o ciągach znaków
Liczba i indeksyWielkość liter i usuwanie białych znakówWyszukiwanie w ciągach znakówDzielenie i łączenieZastępowanie podciągówPodsumowanie — sprawdzanie nazwy użytkownika4Zbiory
Tworzenie zbiorówSuma i część wspólnaRóżnica i różnica symetrycznaPodzbiór i nadzbiórPowtórka — filtr tagów7Projekt – Śledzenie nawyków
Przegląd projektuOznacz jako wykonane10Projekt — silnik quizów
Przegląd projektuZadawanie pytań2Zakresy i kroki
Zakresy domknięte i półotwarteKrokMetody zakresówZakresy w instrukcji switchPowtórka — siatka kalendarza5Funkcje wyższego rzędu, część 1
MapFilterReduceŁączenie map, filter i reducePodsumowanie – statystyki słówPoćwicz samodzielnie: Edytor online Swift