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, 3Operator 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, 2Czasami 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, 1Zwróć 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.
Wyzwanie
ŁatwyНапиши функцию countdown, которая принимает n и возвращает строку с обратным отсчётом от n до 1, за которым следует "Go!".
Используй метод reversed() для диапазона, чтобы перебирать значения в обратном порядке и составить строку обратного отсчёта.
Логика:
- Создай диапазон от
1доnи переверни его - Составь строку, разделяя каждое число символом новой строки
- Добавь "Go!" в последней строке
Параметры:
n(Int): начальное число обратного отсчёта (1 или больше)
Возвращает: строку, в которой каждое число обратного отсчёта находится на отдельной строке, а в конце стоит "Go!" (String). Формат:
3
2
1
Go!Например, если n равно 3, функция возвращает "3\n2\n1\nGo!".
Spróbuj swoich sił
func countdown(n: Int) -> String {
// Napisz kod tutaj
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloPrzypisanie złożonePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
Funkcja printInterpolacja ciągów znakówWejście ReadLineKonwersja typówPowtórka – do 120Powtórka – prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneEtykiety argumentówPowtórka – funkcja SigmaPowtórka – funkcja walidującaWartości domyślne2Zmienne
let vs varAdnotacje typówLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPodsumowanie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka – prosta logikaOperatory logiczne, część 3Operator trójargumentowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych wejściowych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Typy opcjonalne
Czym są typy opcjonalneRozpakowywanie za pomocą if letGuard letOperator nil-coalescingPodsumowanie — bezpieczne rozpakowywanie6Podejmowanie decyzji
Instrukcja ifIf - ElsePowtórka – prosty kalkulatorInstrukcja switchSwitch z zakresami9Pętle
Pętla for-inPętla whilePętla repeat-whileInstrukcja breakInstrukcja continuePowtórzenie – silniaZakresy w pętlachPętla zagnieżdżonaPowtórzenie – dynamiczne dane wejściowePoćwicz samodzielnie: Edytor online Swift