Loops Aninhados
Parte da seção Fundamentals do Journey de Python da Coddy — lição 41 de 77.
Um loop aninhado é um loop dentro de outro loop. O loop interno completa todas as suas iterações para cada iteração do loop externo.
Vamos começar com um loop aninhado simples para entender o conceito:
# Loop externo
for i in range(3):
print(f"Outer loop iteration: {i}")
# Loop interno
for j in range(2):
print(f" Inner loop iteration: {j}")Quando você executar este código, verá:
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: 1Observe que, para cada iteração do loop externo, o loop interno completa todas as suas iterações.
Agora vamos ver um exemplo prático - imprimindo um padrão simples:
# Imprime um retângulo de estrelas 2x3
for row in range(2): # 2 linhas
line = ""
for col in range(3): # 3 colunas
line += "*"
print(line)
# Saída:
# ***
# ***O loop externo controla quantas linhas imprimimos, e o loop interno constrói cada linha adicionando estrelas.
Desafio
FácilEscreva um código que imprima um padrão retangular de estrelas (*) usando loops aninhados.
Seu programa deve:
- Ler dois números inteiros:
rowsecols - Usar uma estrutura de loops aninhados para imprimir o padrão
- O loop externo deve iterar por cada linha
- O loop interno deve construir cada linha com o número correto de estrelas
- Imprimir cada linha concluída
Exemplo: se a entrada for 3 linhas e 4 colunas, a saída deve ser:
****
****
****Folha de consulta
Loops aninhados são loops dentro de outros loops:
for x in range(2):
for y in range(2):
print(x, y)
# Saída:
# 0 0
# 0 1
# 1 0
# 1 1O loop interno completa todas as iterações para cada iteração do loop externo, de forma semelhante a como o ponteiro dos minutos de um relógio completa um ciclo completo para cada hora.
Experimente você mesmo
# Obter entrada para linhas e colunas
rows = int(input())
cols = int(input())
# Escreva seus loops aninhados aqui
# Loop externo para linhas
# Loop interno para colunasEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operadores Lógicos Parte 47Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada10FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz2Variáveis
NúmerosStringBooleanoConvenções de NomenclaturaVariáveis VaziasRecapitulação - Inicializar Variáveis8Laços de Repetição
Loop ForLoop WhileBreakContinueRecapitulação - FatorialA Função RangeLoops AninhadosRecapitulação - Entrada Dinâmica11Fundamentos de Listas
Declarando uma ListaAcessando Elementos da ListaModificando ListasMétodos de ListaRecapitulação - Lista de ProdutosRecapitulação - Lista InvertidaTupla14Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa3Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosRecapitulação - Matemática SimplesOperadores de Comparação6Entrada e Saída Básica
SaídaSaída com VariáveisEntradaConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso9Funções
Declarar uma FunçãoArgumentosRetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão12Iterando sobre Sequências
Iterando sobre ElementosA Função EnumerateIterando sobre Strings Parte 1Iterando sobre Strings Parte 2