Menu
Coddy logo textTech

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] 5

Gdy 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] 6

Tutaj 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.

challenge icon

Wyzwanie

Łatwy

Wczytaj 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] 10

Zauważ, ż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()
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: Kompilator R online