Menu
CoddyTech

Zakresy w pętlach

Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 48 z 86.

W pętlach używasz zakresów takich jak 1...5, ale Swift oferuje większą elastyczność w definiowaniu tych zakresów. Przyjrzyjmy się różnym typom zakresów i przydatnej technice odliczania wstecz.

Operator zakresu domkniętego (...) obejmuje oba końce zakresu:

for i in 1...3 {
    print(i)
}
// Wynik: 1, 2, 3

Operator przedziału półotwartego (..<) wyklucza górną granicę, co jest szczególnie przydatne podczas pracy z indeksami liczonymi od zera:

for i in 0..<3 {
    print(i)
}
// Wynik: 0, 1, 2

Czasami trzeba wykonać pętlę w odwrotnej kolejności. Metoda reversed() pozwala iterować wstecz po zakresie:

for i in (1...3).reversed() {
    print(i)
}
// Wynik: 3, 2, 1

Zwróć uwagę na nawiasy wokół zakresu: są wymagane przy wywoływaniu reversed() dla zakresu. Ta technika doskonale sprawdza się przy odliczaniu lub wtedy, gdy chcesz przetwarzać elementy od ostatniego do pierwszego.

challenge icon

Wyzwanie

Łatwy
Napisz funkcję countdown, która przyjmuje n i zwraca napis zawierający odliczanie od n do 1, a po nim "Go!".

Użyj metody reversed() na zakresie, aby iterować wstecz i zbudować napis z odliczaniem.

Logika:

  • Utwórz zakres od 1 do n i odwróć go
  • Zbuduj napis, w którym każda liczba jest oddzielona znakiem nowej linii
  • Dodaj "Go!" w ostatniej linii

Parametry:

  • n (Int): Liczba, od której zaczyna się odliczanie (1 lub większa)

Zwraca: Napis, w którym każda liczba odliczania jest w osobnej linii, zakończony "Go!" (String). Format:

3
2
1
Go!

Na przykład, jeśli n wynosi 3, funkcja zwraca "3\n2\n1\nGo!".

Spróbuj swoich sił

func countdown(n: Int) -> String {
    // Napisz kod tutaj
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Swift