Python Academy · Lektion

Indlejrede løkker og løkkemønstre

Kombinér indlejrede løkker til gitre, mønstre og akkumulering.

Lektion 4 af 414 trin

Indlejrede løkker og løkkemønstre er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 4 lektioner i alt.

Introduktion

Ved at kombinere løkker kan du bruge mønstre som gennemløb af matricer, søgning på flere niveauer og generering af kombinationer.

Grundlæggende indlejret løkke

To for-løkker: Den ydre kører N gange, og den indre kører M gange pr. gennemløb af den ydre — i alt N*M gennemløb.
for i in range(3):
    for j in range(3):
        print(i, j)

Multiplikationstabel

Indlejrede løkker kan naturligt danne tabeller. Den ydre løkke svarer til rækken, og den indre til kolonnen.
for i in range(1, 4):
    for j in range(1, 4):
        print(f'{i*j:3}', end='')
    print()

Trekantmønster

Udskriv * i gange pr. række: for i in range(1,6): print('*'*i). Det viser, hvordan antallet af gennemløb i den indre løkke afhænger af den ydre.
for i in range(1, 6):
    print('*' * i)

Gennemløb af en matrix

Indlejrede løkker er den almindelige måde at besøge hver celle i en 2D-liste på.
matrix = [[1,2,3],[4,5,6]]
for row in matrix:
    for val in row:
        print(val, end=' ')
    print()

Akkumuleringsmønster

Læg alle elementer sammen: 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)

Sådan finder du elementer

Søg efter en værdi i en 2D-liste, og registrer dens placering med en indlejret løkke.
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})')

Kombinationer uden gentagelse

for i in range(n): for j in range(i+1, n): genererer alle unikke par fra en liste.
items = ['a','b','c']
for i in range(len(items)):
    for j in range(i+1, len(items)):
        print(items[i], items[j])

Effektivitet i indlejrede løkker

O(n^2) er almindeligt for indlejrede løkker. Hvis den indre løkke slår op i en dict i stedet for at gennemgå en liste, kan du reducere det til 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)

Fladgøring med indlejret comprehension

[x for row in matrix for x in row] er en flad, indlejret comprehension. Læs den fra venstre mod højre: Den ydre løkke kommer først.
matrix = [[1,2],[3,4]]
flat = [x for row in matrix for x in row]
print(flat)

Afslutning af indlejrede løkker

Brug et flag, eller placér løkkerne i en funktion, og brug return til at afslutte flere niveauer på en overskuelig måde.
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))

Hurtigt tjek

Hvad er det samlede antal gennemløb for to indlejrede løkker med range(4) og range(3)?

Opsummering

Indlejrede løkker: N*M gennemløb i alt. Brug dem til mønstre, gennemløb af matricer og kombinationer. Fladgør med en comprehension. Afslut med return eller et flag.

Fortsæt

Godt arbejde! Gå videre til næste lektion for at fortsætte med at opbygge dine færdigheder.
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
76
Lektioner
320

Ofte stillede spørgsmål

Er lektionen “Indlejrede løkker og løkkemønstre” gratis?

Ja — hele teksten til “Indlejrede løkker og løkkemønstre” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Indlejrede løkker og løkkemønstre”?

Kombinér indlejrede løkker til gitre, mønstre og akkumulering. Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Python Academy?

Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Indlejrede løkker og løkkemønstre”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Python Academy-lektion?

Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. if / elif / else-sætninger
  2. for-løkker og range()
  3. while-løkker og løkkestyring
  4. Indlejrede løkker og løkkemønstre
← Tilbage til Python Academy