Menu
CoddyTech

Pętla zagnieżdżona

Część sekcji Podstawy ścieżki Python w Coddy. Lekcja 41 z 77.

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

Zacznijmy od prostej pętli zagnieżdżonej, aby zrozumieć tę koncepcję:

rows = 3
cols = 2

# Pętla zewnętrzna
for i in range(rows):
    print(f"Outer loop iteration: {i}")
    
    # Pętla wewnętrzna
    for j in range(cols):
        print(f"  Inner loop iteration: {j}")

Po uruchomieniu tego kodu zobaczysz:

Outer loop iteration: 0
  Inner loop iteration: 0
  Inner loop iteration: 1
Outer loop iteration: 1
  Inner loop iteration: 0
  Inner loop iteration: 1
Outer loop iteration: 2
  Inner loop iteration: 0
  Inner loop iteration: 1

Zauważ, że przy każdej iteracji pętli zewnętrznej pętla wewnętrzna wykonuje wszystkie swoje iteracje. Każda pętla ma własny licznik: j zaczyna ponownie od 0 za każdym razem, gdy uruchamia się pętla zewnętrzna, natomiast rows i cols pozostają takie same i jedynie informują pętle, kiedy mają się zatrzymać.

Teraz zobaczmy praktyczny przykład — wypisywanie prostego wzoru:

# Wypisz prostokąt gwiazdek o wymiarach 2x3
for row in range(2):  # 2 wiersze
    line = ""
    for col in range(3):  # 3 kolumny
        line += "*"
    print(line)

# Wynik:
# ***
# ***

Pętla zewnętrzna kontroluje, ile wierszy wypisujemy, a pętla wewnętrzna buduje każdy wiersz, dodając gwiazdki.

challenge icon

Wyzwanie

Łatwy

Napisz kod, który wypisuje wzór prostokąta z gwiazdek (*) przy użyciu zagnieżdżonych pętli.

Twój program powinien:

  1. Odczytać dwie liczby całkowite: rows i cols
  2. Użyć zagnieżdżonej struktury pętli do wypisania wzoru
  3. Pętla zewnętrzna powinna przechodzić przez każdy wiersz
  4. Pętla wewnętrzna powinna tworzyć każdy wiersz z odpowiednią liczbą gwiazdek
  5. Wypisać każdy ukończony wiersz

Przykład: jeśli dane wejściowe to 3 wiersze i 4 kolumny, wynik powinien wyglądać tak:

****
****
****

Użyj nowego licznika w każdej pętli (na przykład i dla wierszy i j dla gwiazdek w wierszu) i porównuj go z rows lub cols. Nie zmieniaj samych rows ani cols: każdy wiersz potrzebuje ponownie cols.

Spróbuj swoich sił

# Wczytaj liczbę wierszy i kolumn
rows = int(input())
cols = int(input())

# Napisz tutaj zagnieżdżone pętle
# Pętla zewnętrzna dla wierszy
# Pętla wewnętrzna dla kolumn
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 Python online