0Pricing
Python Academy · Lekcja

Pętle zagnieżdżone i wzorce iteracji

Proszę łączyć zagnieżdżone pętle do pracy z siatkami, wzorcami i akumulacją wartości.

Pętle zagnieżdżone i wzorce iteracji to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Wprowadzenie

Łączenie pętli umożliwia stosowanie wzorców takich jak przechodzenie po macierzy, wyszukiwanie wielopoziomowe i generowanie kombinacji.

Podstawowa pętla zagnieżdżona

Dwie pętle for: zewnętrzna wykonuje się N razy, a wewnętrzna M razy dla każdej iteracji zewnętrznej — łącznie daje to N*M iteracji.
for i in range(3):
    for j in range(3):
        print(i, j)

Tabliczka mnożenia

Zagnieżdżone pętle w naturalny sposób tworzą tabele. Pętla zewnętrzna odpowiada wierszowi, a wewnętrzna — kolumnie.
for i in range(1, 4):
    for j in range(1, 4):
        print(f'{i*j:3}', end='')
    print()

Wzorzec trójkąta

Wypisuj * i razy w każdym wierszu: for i in range(1,6): print('*'*i). Pokazuje to, jak liczba iteracji pętli wewnętrznej zależy od pętli zewnętrznej.
for i in range(1, 6):
    print('*' * i)

Przechodzenie po macierzy

Zagnieżdżone pętle to standardowy sposób odwiedzenia każdej komórki listy dwuwymiarowej.
matrix = [[1,2,3],[4,5,6]]
for row in matrix:
    for val in row:
        print(val, end=' ')
    print()

Wzorzec akumulacji

Sumowanie wszystkich elementów: total = 0; for row in matrix: for v in row: total += v
matrix = [[1,2],[3,4]]
total = sum(v for row in matrix for v in row)
print(total)

Wyszukiwanie elementów

Wyszukaj wartość na liście dwuwymiarowej i zapisz jej pozycję za pomocą zagnieżdżonej pętli.
matrix = [[1,2,3],[4,5,6],[7,8,9]]
for i, row in enumerate(matrix):
    for j, val in enumerate(row):
        if val == 5:
            print(f'Found at ({i},{j})')

Kombinacje bez powtórzeń

for i in range(n): for j in range(i+1, n): generuje wszystkie unikatowe pary z listy.
items = ['a','b','c']
for i in range(len(items)):
    for j in range(i+1, len(items)):
        print(items[i], items[j])

Wydajność zagnieżdżonych pętli

Złożoność O(n^2) jest typowa dla zagnieżdżonych pętli. Jeśli pętla wewnętrzna używa wyszukiwania w dict zamiast przeglądania listy, można zmniejszyć ją do O(n).
# Efficient: use a set for inner lookup
data = {1, 2, 3, 4}
result = [x for x in range(10) if x in data]  # O(n)
print(result)

Spłaszczanie za pomocą zagnieżdżonego wyrażenia listowego

[x for row in matrix for x in row] to zagnieżdżone wyrażenie listowe tworzące płaską listę. Czytaj je od lewej do prawej: najpierw wykonywana jest pętla zewnętrzna.
matrix = [[1,2],[3,4]]
flat = [x for row in matrix for x in row]
print(flat)

Wychodzenie z zagnieżdżonych pętli

Użyj flagi albo umieść pętle w funkcji i użyj return, aby w uporządkowany sposób wyjść z wielu poziomów zagnieżdżenia.
def find_in_matrix(matrix, target):
    for i, row in enumerate(matrix):
        for j, val in enumerate(row):
            if val == target:
                return (i, j)
    return None
print(find_in_matrix([[1,2],[3,4]], 3))

Szybkie sprawdzenie

Jaka jest łączna liczba iteracji dwóch zagnieżdżonych pętli korzystających z range(4) i range(3)?

Podsumowanie

Zagnieżdżone pętle wykonują łącznie N*M iteracji. Używaj ich do wzorców, przechodzenia po macierzach i tworzenia kombinacji. Spłaszczaj dane za pomocą wyrażeń listowych. Wychodź z pętli za pomocą return lub flagi.

Kontynuuj naukę

Świetna praca! Przejdź do następnej lekcji, aby dalej rozwijać swoje umiejętności.

Często zadawane pytania

Czy lekcja „Pętle zagnieżdżone i wzorce iteracji” jest bezpłatna?

Tak — pełny tekst „Pętle zagnieżdżone i wzorce iteracji” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Pętle zagnieżdżone i wzorce iteracji”?

Proszę łączyć zagnieżdżone pętle do pracy z siatkami, wzorcami i akumulacją wartości. Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Pętle zagnieżdżone i wzorce iteracji”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Instrukcje if / elif / else
  2. Pętle for i range()
  3. Pętle while i sterowanie pętlą
  4. Pętle zagnieżdżone i wzorce iteracji
← Powrót do Python Academy