Następna iteracja (continue)
Część sekcji Podstawy ścieżki R w Coddy. Lekcja 41 z 78.
Chociaż break całkowicie kończy pętlę, czasami chcesz tylko pominąć bieżącą iterację i kontynuować od następnej. Instrukcja next robi dokładnie to.
for (i in 1:5) {
if (i == 3) {
next
}
print(i)
}Wynik:
[1] 1
[1] 2
[1] 4
[1] 5Gdy i jest równe 3, instrukcja next pomija resztę tej iteracji, więc 3 nigdy nie zostaje wypisane. Następnie pętla działa dalej, jak zwykle, dla 4 i 5.
Jest to przydatne, gdy chcesz odfiltrować określone wartości bez zatrzymywania całej pętli. Na przykład, aby wypisać tylko liczby parzyste:
for (num in 1:6) {
if (num %% 2 != 0) {
next
}
print(num)
}Wynik:
[1] 2
[1] 4
[1] 6Tutaj liczby nieparzyste są pomijane przy użyciu next, a wypisywane są tylko liczby parzyste. Kluczowa różnica w porównaniu z break polega na tym, że pętla działa dalej — pomijane są tylko określone iteracje.
Wyzwanie
ŁatwyWczytaj z wejścia liczbę n. Użyj pętli for, aby iterować od 1 do n i wypisać tylko te liczby, które nie są podzielne przez 4.
Użyj instrukcji next, aby pomijać liczby podzielne przez 4, a wszystkie pozostałe liczby wypisz za pomocą print().
Na przykład, jeśli wejściem jest 10, wynikiem powinno być:
[1] 1
[1] 2
[1] 3
[1] 5
[1] 6
[1] 7
[1] 9
[1] 10Zauważ, że 4 i 8 są pomijane, ponieważ są podzielne przez 4.
Spróbuj swoich sił
# Odczytaj dane wejściowe
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# TODO: Napisz swój kod poniżej
# Użyj pętli for, aby przejść od 1 do n
# Użyj instrukcji next, aby pominąć liczby podzielne przez 4
# Wypisz wszystkie pozostałe liczby za pomocą print()Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 2
Operatory logiczne (AND, OR)Operatory logiczne, część 2 (NOT)Powtórka — prosta logikaLogika wektoryzowana, część 1Logika wektoryzowana, część 27Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych od użytkownika10FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz2Zmienne i typy danych
Liczbowy typ danychCałkowity typ danychZnakowy typ danychLogiczny typ danychSprawdzanie typów danychKonwencje nazewnictwaBrakujące wartości: NAPodsumowanie – tworzenie zmiennych8Pętle
Pętla forPętla whilePrzerwijNastępna iteracja (continue)Powtórka — silniaGenerowanie sekwencji (seq, :)Pętle zagnieżdżonePowtórka — dynamiczne wprowadzanie danych3Operatory, część 1
Operatory arytmetyczneDzielenie całkowite i moduloOperatory przypisaniaPowtórka — prosta matematykaOperatory porównania6Podstawowe wejście/wyjście
Wyświetlanie danychCat jako wyjścieWyjście z użyciem zmiennychOdczyt danych wejściowych za pomocą readline()Podstawy konwersji typówPowtórka — kalkulator wiekuPowtórka — prawda czy fałsz9Funkcje
Deklarowanie funkcjiArgumenty funkcjiWartości zwracanePowtórzenie — funkcja SigmaPowtórzenie — funkcja walidującaDomyślne wartości parametrówPoćwicz samodzielnie: Kompilator R online