Bucle anidado
Parte de la sección Fundamentals del Journey de Python de Coddy — lección 41 de 77.
Un bucle anidado es un bucle dentro de otro bucle. El bucle interno completa todas sus iteraciones por cada iteración del bucle externo.
Comencemos con un bucle anidado simple para entender el concepto:
# Bucle externo
for i in range(3):
print(f"Outer loop iteration: {i}")
# Bucle interno
for j in range(2):
print(f" Inner loop iteration: {j}")Cuando ejecutes este código, verás:
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: 1Observa que por cada iteración del bucle externo, el bucle interno completa todas sus iteraciones.
Ahora veamos un ejemplo práctico: imprimir un patrón simple:
# Imprimir un rectángulo de estrellas de 2x3
for row in range(2): # 2 filas
line = ""
for col in range(3): # 3 columnas
line += "*"
print(line)
# Salida:
# ***
# ***El bucle externo controla cuántas filas imprimimos, y el bucle interno construye cada fila añadiendo estrellas.
Desafío
FácilEscribe un código que imprima un patrón rectangular de estrellas (*) utilizando bucles anidados.
Tu programa debe:
- Leer dos enteros:
rowsycols - Usar una estructura de bucles anidados para imprimir el patrón
- El bucle externo debe iterar a través de cada fila
- El bucle interno debe construir cada fila con el número correcto de estrellas
- Imprimir cada fila completada
Ejemplo: si la entrada es 3 filas y 4 columnas, la salida debe ser:
****
****
****Hoja de referencia
Los bucles anidados son bucles dentro de otros bucles:
for x in range(2):
for y in range(2):
print(x, y)
# Salida:
# 0 0
# 0 1
# 1 0
# 1 1El bucle interno completa todas las iteraciones por cada iteración del bucle externo, de manera similar a cómo el minutero de un reloj completa un ciclo completo por cada hora.
Pruébalo tú mismo
# Obtener la entrada para filas y columnas
rows = int(input())
cols = int(input())
# Escribe tus bucles anidados aquí
# Bucle externo para filas
# Bucle interno para columnasEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada de datos10FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz2Variables
NúmerosStringBooleanConvenciones de nomenclaturaVariables vacíasRepaso - Inicializar variables8Bucles
Bucle ForBucle WhileBreakContinueRepaso - FactorialLa función RangeBucle anidadoRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación9Funciones
Declarar una funciónArgumentosRetornoResumen - Función SigmaResumen - Función de validaciónValores por defecto