Menu
Coddy logo textTech

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: 1

Observa 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.

challenge icon

Desafío

Fácil

Escribe un código que imprima un patrón rectangular de estrellas (*) utilizando bucles anidados.

Tu programa debe:

  1. Leer dos enteros: rows y cols
  2. Usar una estructura de bucles anidados para imprimir el patrón
  3. El bucle externo debe iterar a través de cada fila
  4. El bucle interno debe construir cada fila con el número correcto de estrellas
  5. 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 1

El 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 columnas
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals