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ć pętlę zagnieżdżoną. Pętla wewnętrzna wykonuje się w całości przy każdej iteracji pętli zewnętrznej.
for (i in 1..2) {
for (j in 1..3) {
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ę trzy razy (j przyjmuje wartości od 1 do 3). Następnie i zmienia się na 2, a pętla wewnętrzna wykonuje się jeszcze trzy razy. Daje nam to łącznie 2 × 3 = 6 iteracji.
Zagnieżdżone pętle 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, a println() przechodzi do następnej linii po każdym wierszu.
Wyzwanie
ŚredniWczytaj 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 znak nowej linii.
Na przykład, jeśli dane wejściowe to 3, dane wyjściowe powinny wyglądać tak:
1 2 3
2 4 6
3 6 9Jeśli dane wejściowe to 4, dane wyjściowe powinny wyglądać tak:
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, a println(), aby przejść do następnego wiersza.
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