Pętla repeat-while
Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 44 z 86.
Pętla repeat-while jest podobna do pętli while, ale różni się jednym istotnym szczegółem: sprawdza warunek po wykonaniu bloku kodu, a nie przed nim. Dzięki temu treść pętli wykona się co najmniej raz.
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// Wynik: 1, 2, 3Zwróć uwagę na strukturę: najpierw występuje słowo kluczowe repeat, następnie blok kodu, a na końcu, po while, pojawia się warunek.
Różnica staje się jasna, gdy warunek od początku jest fałszywy:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// Wynik: This runs once!Mimo że number < 5 ma wartość false, komunikat i tak zostanie wyświetlony raz. W przypadku zwykłej pętli while nie zostałoby wyświetlone nic.
Użyj repeat-while, gdy kod musi wykonać się co najmniej raz, zanim sprawdzisz, czy ma być kontynuowany, na przykład gdy prosisz użytkownika o dane wejściowe, dopóki nie poda prawidłowych danych.
Wyzwanie
ŁatwyWczytaj liczbę całkowitą n z wejścia. Użyj pętli repeat-while, aby wypisać wszystkie liczby od 1 do n, każdą w nowym wierszu.
Otrzymasz następujące dane wejściowe:
- Jeden wiersz zawierający liczbę całkowitą w postaci ciągu znaków (np.
"5")
Wczytaj dane wejściowe, przekonwertuj je na Int i użyj pętli repeat-while, aby wypisać każdą liczbę, zaczynając od 1.
Wymagania:
- Ustaw licznik na
1 - Wypisz wartość licznika
- Zwiększ wartość licznika
- Kontynuuj, dopóki licznik jest mniejszy lub równy
n
Na przykład, jeśli dane wejściowe to 4, dane wyjściowe powinny wyglądać tak:
1
2
3
4Spróbuj swoich sił
// Wczytaj dane wejściowe i przekonwertuj je na Int
let n = Int(readLine()!)!
// TODO: Napisz swój kod poniżej
// Ustaw licznik na 1 i użyj pętli repeat-while, aby wypisać liczby od 1 do nTa 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