Zakresy w pętlach
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 51 z 93.
Jak dotąd używaliśmy 1..5, aby tworzyć zakresy zwiększające się co jeden. Kotlin oferuje bardziej elastyczne sposoby definiowania zakresów dla pętli.
Aby odliczać wstecz, użyj downTo:
for (i in 5 downTo 1) {
println(i)
}
// Wynik: 5, 4, 3, 2, 1Aby pomijać liczby, dodaj step, aby kontrolować przyrost:
for (i in 0..10 step 2) {
println(i)
}
// Wynik: 0, 2, 4, 6, 8, 10Możesz połączyć downTo z step, aby odliczać wstecz z niestandardowymi odstępami:
for (i in 10 downTo 1 step 3) {
println(i)
}
// Wynik: 10, 7, 4, 1Jeśli chcesz wykluczyć ostatnią wartość, użyj until zamiast ..:
for (i in 1 until 5) {
println(i)
}
// Wynik: 1, 2, 3, 4Słowo kluczowe until jest szczególnie przydatne podczas pracy z indeksami liczonymi od zera, gdy często trzeba zatrzymać się przed osiągnięciem określonej liczby.
Wyzwanie
ŚredniWczytaj z wejścia dwie liczby całkowite: start i end.
Wypisz wszystkie liczby parzyste od start do end w dół (włącznie), każdą w osobnym wierszu.
Użyj downTo z step, aby utworzyć zakres. Jeśli start jest nieparzyste, zacznij od pierwszej liczby parzystej poniżej niego.
Na przykład, jeśli dane wejściowe to:
10
2Oczekiwane wyjście:
10
8
6
4
2Jeśli dane wejściowe to:
9
3Oczekiwane wyjście:
8
6
4Jeśli w podanym zakresie nie ma liczb parzystych, wypisz No even numbers w jednym wierszu. W przeciwnym razie wypisz każdą liczbę parzystą w osobnym wierszu.
Spróbuj swoich sił
fun main() {
// Wczytaj dane wejściowe
val start = readLine()!!.toInt()
val end = readLine()!!.toInt()
// TODO: Napisz swój kod poniżej
// Użyj downTo wraz ze step, aby wypisać wszystkie liczby parzyste od start w dół do end
// Jeśli start jest nieparzyste, zacznij od pierwszej liczby parzystej mniejszej od niego
}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 operatoremOperatory porównaniaPowtórka – proste działania matematyczne7Podstawowe wejście/wyjście
Funkcja printlnSzablony ciągów znakówWczytywanie danych przez ReadLineKonwersja typówPowtórka — lata do emeryturyPowtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneArgumenty nazwaneWartości domyślneFunkcje z pojedynczym wyrażeniemPowtórka – funkcja SigmaPowtórka – funkcja walidująca2Zmienne
Val a VarWnioskowanie o typieLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPowtórzenie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Operatory logiczne, część 3Operator trójargumentowy z wyrażeniem ifPowtórka — prosta logika8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Obsługa wartości null
Czym jest bezpieczeństwo nullTypy dopuszczające nullOperator bezpiecznego wywołaniaOperator ElvisPodstawy wyzwania z funkcjamiAsercja wartości niebędącej nullPodsumowanie — bezpieczny dostęp6Podejmowanie decyzji
Instrukcja ifIf - elseIf jako wyrażenieWyrażenie whenWhen z zakresamiPowtórka — prosty kalkulator9Pętle
Pętla forPętla whilePętla do-whileBreakContinueZakresy w pętlachPętla zagnieżdżonaPowtórka – silniaPowtórka – dynamiczne wprowadzanie danychPoćwicz samodzielnie: Edytor online Kotlin