Krok
Część sekcji Logika i przepływ programu ścieżki Swift w Coddy. Lekcja 8 z 56.
Zakres przechodzi o jeden krok naraz. Gdy chcesz zmienić wielkość kroku lub odliczać w dół, użyj stride.
Dwa warianty: stride(from:to:by:) zatrzymuje się przed drugą wartością (przedział półotwarty), a stride(from:through:by:) może ją uwzględnić (przedział domknięty):
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, 0Argument by: musi mieć odpowiedni znak: dodatni przy zliczaniu w górę, ujemny przy zliczaniu w dół. Jeśli znak się nie zgadza, pętla wykona się zero razy.
Wyzwanie
ŁatwyWczytaj trzy liczby całkowite (trzy wiersze): start, end, step. Krok może być dodatni lub ujemny. Zakres obejmuje oba końce (użyj stride(from:through:by:)).
Wypisz:
- Wartości w ciągu, połączone za pomocą
, - Liczbę uzyskanych wartości
Dla wejścia 0 / 10 / 3 wynik to:
0,3,6,9
4Dla wejścia 10 / 0 / -2 wynik to:
10,8,6,4,2,0
6Spróbuj swoich sił
let start = Int(readLine()!)!
let end = Int(readLine()!)!
let step = Int(readLine()!)!
// TODO: stride(from:through:by:), połącz przecinkami, a następnie wypisz liczbę elementów
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