Pętla zagnieżdżona
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 52 z 93.
Możesz umieścić pętlę wewnątrz innej pętli, aby utworzyć zagnieżdżoną pętlę. Pętla wewnętrzna wykonuje się w całości przy każdej iteracji pętli zewnętrznej.
val rows = 2
val cols = 3
for (i in 1..rows) {
for (j in 1..cols) {
println("i=$i, j=$j")
}
}
// Wynik:
// i=1, j=1
// i=1, j=2
// i=1, j=3
// i=2, j=1
// i=2, j=2
// i=2, j=3Gdy i wynosi 1, pętla wewnętrzna wykonuje się cols razy (j przyjmuje wartości od 1 do 3). Następnie i staje się równe 2, a pętla wewnętrzna zaczyna się od nowa, przy czym j ponownie przyjmuje wartości od 1 do 3. Daje nam to łącznie 2 × 3 = 6 iteracji. rows i cols nigdy się nie zmieniają: tylko informują pętle, kiedy mają się zatrzymać.
Pętle zagnieżdżone są często używane do tworzenia wzorów lub pracy ze strukturami przypominającymi siatkę:
for (row in 1..3) {
for (col in 1..row) {
print("*")
}
println()
}
// Wynik:
// *
// **
// ***Tutaj zakres pętli wewnętrznej zależy od zmiennej pętli zewnętrznej, tworząc wzór trójkąta. Funkcja print() wyświetla tekst bez znaku nowej linii, natomiast println() przechodzi do następnej linii po każdym wierszu.
Wyzwanie
ŚredniWczytaj z wejścia liczbę całkowitą n. Użyj zagnieżdżonych pętli, aby wypisać tabliczkę mnożenia dla liczb od 1 do n.
Dla każdego wiersza i od 1 do n wypisz iloczyny i * 1, i * 2, ..., i * n, oddzielone spacjami, a następnie przejdź do nowej linii.
Na przykład, jeśli wejście to 3, wyjście powinno być następujące:
1 2 3
2 4 6
3 6 9Jeśli wejście to 4, wyjście powinno być następujące:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16Użyj print() ze spacją, aby wypisywać wartości w tym samym wierszu, oraz println(), aby przejść do następnego wiersza.
Użyj nowego licznika dla każdej pętli (na przykład i dla wierszy i j dla kolumn) i porównuj oba z n. Nie zmieniaj samego n: jest potrzebne ponownie w każdym wierszu.
Spróbuj swoich sił
fun main() {
// Wczytaj dane wejściowe
val n = readLine()!!.toInt()
// TODO: Napisz swój kod poniżej
// Użyj zagnieżdżonych pętli, aby wypisać tabliczkę mnożenia
// Użyj print() ze spacją, aby wypisać wartości w tym samym wierszu
// Użyj println(), aby przejść do następnego wiersza
}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