0Pricing
Python Academy · Lección

Bucles anidados y patrones de bucles

Combine bucles anidados para trabajar con cuadrículas, patrones y acumulaciones.

Bucles anidados y patrones de bucles es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.

Introducción

Combinar bucles permite crear patrones como el recorrido de matrices, las búsquedas de varios niveles y la generación de combinaciones.

Bucle anidado básico

Dos bucles for: el externo se ejecuta N veces y el interno M veces por cada iteración del externo, para un total de N*M iteraciones.
for i in range(3):
    for j in range(3):
        print(i, j)

Tabla de multiplicar

Los bucles anidados generan tablas de forma natural. El bucle externo representa la fila y el interno, la columna.
for i in range(1, 4):
    for j in range(1, 4):
        print(f'{i*j:3}', end='')
    print()

Patrón de triángulo

Imprima * i veces por fila: for i in range(1,6): print('*'*i). Esto demuestra cómo el número de iteraciones del bucle interno depende del externo.
for i in range(1, 6):
    print('*' * i)

Recorrido de una matriz

Los bucles anidados son la forma habitual de visitar cada celda de una lista 2D.
matrix = [[1,2,3],[4,5,6]]
for row in matrix:
    for val in row:
        print(val, end=' ')
    print()

Patrón de acumulación

Sume todos los 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)

Búsqueda de elementos

Busque un valor en una lista 2D y registre su posición mediante un bucle anidado.
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})')

Combinaciones sin repetición

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

Eficiencia de los bucles anidados

O(n^2) es habitual en los bucles anidados. Si el bucle interno hace una consulta en un dict en lugar de recorrer una list, puede reducir la complejidad a 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)

Aplanado con comprensión anidada

[x for row in matrix for x in row] es una comprensión anidada plana. Léala de izquierda a derecha: primero se ejecuta el bucle externo.
matrix = [[1,2],[3,4]]
flat = [x for row in matrix for x in row]
print(flat)

Salir de bucles anidados

Use una variable de control o coloque los bucles dentro de una función y use return para salir limpiamente de varios niveles.
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))

Comprobación rápida

¿Cuál es el número total de iteraciones de dos bucles anidados con range(4) y range(3)?

Resumen

Los bucles anidados tienen N*M iteraciones en total. Úselos para patrones, recorridos de matrices y combinaciones. Aplane los datos con una comprensión. Salga de los bucles con return o mediante una variable de control.

Siga avanzando

¡Excelente trabajo! Pase a la siguiente lección para seguir desarrollando sus habilidades.

Preguntas frecuentes

¿La lección «Bucles anidados y patrones de bucles» es gratis?

Sí — el texto completo de «Bucles anidados y patrones de bucles» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Bucles anidados y patrones de bucles»?

Combine bucles anidados para trabajar con cuadrículas, patrones y acumulaciones. Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Bucles anidados y patrones de bucles»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Sentencias if / elif / else
  2. Bucles for y range()
  3. Bucles while y control de bucles
  4. Bucles anidados y patrones de bucles
← Volver a Python Academy