O Que Você Vai Aprender
Nesta aula de 2 horas, você dará um grande salto na complexidade e poder dos seus programas: laços aninhados. Aprenderá a usar um laço dentro de outro, como visualizar o fluxo de execução e aplicará esse conceito para resolver problemas que envolvem estruturas bidimensionais, como tabelas e padrões.
nested_loop_icon Compreender Aninhamento
Entender como um laço interno é executado completamente para cada iteração do laço externo.
📊 Visualizar Fluxo de Execução
Acompanhar o passo a passo da execução em laços aninhados.
🧩 Resolver Problemas Complexos
Aplicar laços aninhados para lidar com estruturas de dados bidimensionais e padrões visuais.
Conceito de Aninhamento: Laços dentro de Laços
Laços aninhados significam ter um laço dentro de outro laço. Para cada 'volta' do laço externo, o laço interno é executado do início ao fim. Isso é como ter as horas do dia (laço externo) e, para cada hora, os minutos de 0 a 59 (laço interno).
Exemplo Básico (Combinações)
for i in range(1, 4): # Laço externo
print(f"Iteração externa: {i}")
for j in ['a', 'b']: # Laço interno
print(f" Iteração interna: {j}")
Simulador de Laços Aninhados
Defina o número de iterações para o laço externo e interno, e veja o fluxo de execução.
Aplicações Práticas: Onde Usar Laços Aninhados
Laços aninhados são incrivelmente versáteis para tarefas que envolvem múltiplos níveis de repetição. Eles são ideais para:
Imprimir Tabuadas Completas
Gerar a tabuada de todos os números (ex: de 1 a 10), onde o laço externo controla o número e o interno os multiplicadores.
for num in range(1, 11):
print(f"\nTabuada do {num}:")
for i in range(1, 11):
print(f"{num} x {i} = {num * i}")
Gerador de Tabuadas (1 a 10)
Desenhar Padrões e Formas
Criar formas geométricas ou padrões de caracteres no console, onde o laço externo controla as linhas e o interno os caracteres de cada linha.
largura = 10
altura = 5
for _ in range(altura):
for _ in range(largura):
print("*", end="") # end="" evita a quebra de linha
print() # Quebra a linha ao final de cada linha de asteriscos
Desenhar Retângulo
Desafios para Continuar
Agora que você desvendou os laços aninhados, é hora de praticar! Resolva estes desafios no seu ambiente de desenvolvimento Python para solidificar seu aprendizado e se preparar para problemas mais complexos.
-
✓
Tabuada Completa (1 a 10)
Crie um programa que imprima a tabuada de todos os números de 1 a 10, formatando a saída de forma legível (como no exemplo do conteúdo).
-
✓
Desenhar um Triângulo Retângulo de Asteriscos
Crie um programa que peça um número ao usuário (altura do triângulo) e, usando laços aninhados, desenhe um triângulo retângulo de asteriscos como o exemplo abaixo:
* ** *** **** (Para uma altura de 4)