0Pricing
Python Academy · Aula

Laços aninhados e padrões de iteração

Combine laços aninhados para trabalhar com grades, padrões e acumulação.

Laços aninhados e padrões de iteração é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.

Introdução

Combinar laços permite criar padrões como travessia de matrizes, pesquisa em vários níveis e geração de combinações.

Laço aninhado básico

Dois laços for: o laço externo é executado N vezes, e o laço interno é executado M vezes por iteração do laço externo — total de N*M iterações.
for i in range(3):
    for j in range(3):
        print(i, j)

Tabuada

Laços aninhados produzem tabelas naturalmente. O laço outer representa a linha; inner, a coluna.
for i in range(1, 4):
    for j in range(1, 4):
        print(f'{i*j:3}', end='')
    print()

Padrão de triângulo

Print * i times per row: for i in range(1,6): print('*'*i). Demonstra como a quantidade do laço inner depende do laço outer.
for i in range(1, 6):
    print('*' * i)

Travessia de matriz

Laços aninhados são a forma clássica de visitar cada célula de uma lista bidimensional.
matrix = [[1,2,3],[4,5,6]]
for row in matrix:
    for val in row:
        print(val, end=' ')
    print()

Padrão de acumulação

Some todos os elementos: 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)

Localização de elementos

Pesquise um valor em uma lista bidimensional e registre sua posição com um laço aninhado.
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})')

Combinações sem repetição

for i in range(n): for j in range(i+1, n): gera todos os pares únicos de uma lista.
items = ['a','b','c']
for i in range(len(items)):
    for j in range(i+1, len(items)):
        print(items[i], items[j])

Eficiência de laços aninhados

O(n^2) é comum em laços aninhados. Se o laço interno fizer uma consulta em um dicionário em vez de percorrer uma lista, será possível reduzir para 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)

Planificação com compreensão aninhada

[x for row in matrix for x in row] é uma compreensão aninhada plana. Leia da esquerda para a direita: o laço outer vem primeiro.
matrix = [[1,2],[3,4]]
flat = [x for row in matrix for x in row]
print(flat)

Saindo de laços aninhados

Use uma sinalização ou coloque os laços em uma função e use return para sair de vários níveis de forma organizada.
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))

Verificação rápida

Qual é o número total de iterações de dois laços aninhados com range(4) e range(3)?

Revisão

Laços aninhados: N*M iterações no total. Use-os para padrões, travessia de matrizes e combinações. Faça a planificação com uma compreensão. Saia deles com return ou uma sinalização.

Continue avançando

Excelente trabalho! Passe para a próxima lição para continuar desenvolvendo suas habilidades.

Perguntas Frequentes

A aula “Laços aninhados e padrões de iteração” é grátis?

Sim — o texto completo de “Laços aninhados e padrões de iteração” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.

O que vou aprender em “Laços aninhados e padrões de iteração”?

Combine laços aninhados para trabalhar com grades, padrões e acumulação. Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Python Academy?

Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Laços aninhados e padrões de iteração”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Python Academy?

Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Instruções if / elif / else
  2. Laços for e range()
  3. Laços while e controle de laços
  4. Laços aninhados e padrões de iteração
← Voltar para Python Academy