Menu
Coddy logo textTech

Pętla zagnieżdżona

Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 49 z 86.

Pętla zagnieżdżona to po prostu pętla wewnątrz innej pętli. Pętla wewnętrzna wykonuje wszystkie swoje iteracje podczas każdej pojedynczej iteracji pętli zewnętrznej.

for row in 1...3 {
    for col in 1...2 {
        print("Row \(row), Col \(col)")
    }
}
// Wynik:
// Row 1, Col 1
// Row 1, Col 2
// Row 2, Col 1
// Row 2, Col 2
// Row 3, Col 1
// Row 3, Col 2

Dla każdej wartości row pętla wewnętrzna przechodzi przez wszystkie wartości col. Zatem przy 3 iteracjach pętli zewnętrznej i 2 iteracjach pętli wewnętrznej kod wewnątrz wykona się łącznie 6 razy (3 × 2).

Zagnieżdżone pętle są często używane do pracy ze strukturami przypominającymi siatkę lub do generowania wzorów.

Oto przykład, który wyświetla prostokąt z gwiazdek:

for row in 1...2 {
    for col in 1...4 {
        print("*", terminator: "")
    }
    print("")  // Przejdź do następnego wiersza
}
// Wynik:
// ****
// ****

terminator: "" zapobiega dodawaniu znaku nowej linii przez print, dzięki czemu gwiazdki pojawiają się w tym samym wierszu. Po zakończeniu pętli wewnętrznej print("") przechodzi do następnej linii.

challenge icon

Wyzwanie

Łatwy

Wczytaj z wejścia dwie liczby całkowite: rows i cols. Użyj zagnieżdżonych pętli, aby wypisać siatkę liczb, w której każda komórka zawiera iloczyn numeru wiersza i numeru kolumny.

Otrzymasz następujące dane wejściowe:

  • Pierwszy wiersz: liczba wierszy (np. "3")
  • Drugi wiersz: liczba kolumn (np. "4")

Wymagania:

  • Użyj zewnętrznej pętli dla wierszy (od 1 do rows)
  • Użyj wewnętrznej pętli dla kolumn (od 1 do cols)
  • Wypisz iloczyn numerów bieżącego wiersza i kolumny
  • Oddziel wartości w tym samym wierszu spacją
  • Każdy wiersz powinien znaleźć się w osobnej linii

Podpowiedź: Użyj terminator: " ", aby pozostawić wartości w tej samej linii, a następnie użyj print("") po wewnętrznej pętli, aby przejść do następnej linii.

Na przykład, jeśli rows ma wartość 3, a cols ma wartość 4, wynik powinien wyglądać tak:

1 2 3 4 
2 4 6 8 
3 6 9 12 

Spróbuj swoich sił

let rows = Int(readLine()!)!
let cols = Int(readLine()!)!

// TODO: Napisz swój kod poniżej
// Użyj zagnieżdżonych pętli, aby wyświetlić tabliczkę mnożenia
// Pętla zewnętrzna: iteruj po wierszach (od 1 do rows)
// Pętla wewnętrzna: iteruj po kolumnach (od 1 do cols)
// Wyświetl iloczyn row * column
// Użyj print(..., terminator: " "), aby wartości pozostały w tym samym wierszu
// Użyj print("") po zakończeniu pętli wewnętrznej, aby przejść do następnego wiersza
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: Edytor online Swift