Volver a Python Básico

Bucles

Python dispone de dos estructuras de bucle principales: for y while.

Bucle for

# Iterar sobre un rango for i in range(5): print(i) # 0 1 2 3 4 # Iterar sobre una lista frutas = ["manzana", "banana", "cereza"] for fruta in frutas: print(fruta) # Con índice usando enumerate for indice, fruta in enumerate(frutas): print(f"{indice}: {fruta}")

range()

range(5) # 0, 1, 2, 3, 4 range(2, 8) # 2, 3, 4, 5, 6, 7 range(0, 10, 2) # 0, 2, 4, 6, 8 (paso) range(10, 0, -1) # 10, 9, ..., 1 (cuenta regresiva)

Bucle while

contador = 0 while contador < 5: print(contador) contador += 1

break y continue

# break: salir del bucle anticipadamente for n in range(10): if n == 5: break print(n) # 0 1 2 3 4 # continue: saltar la iteración actual for n in range(10): if n % 2 == 0: continue print(n) # 1 3 5 7 9

else en Bucles

# else se ejecuta si el bucle termina sin break for n in range(5): if n == 10: break else: print("Bucle completado sin break") # Esto se ejecuta

Patrones de Bucles

# Iterar sobre items de un diccionario puntuaciones = {"Alice": 95, "Bob": 87, "Carol": 92} for nombre, puntos in puntuaciones.items(): print(f"{nombre}: {puntos}") # Combinar dos listas con zip nombres = ["Alice", "Bob"] edades = [30, 25] for nombre, edad in zip(nombres, edades): print(f"{nombre} tiene {edad} años") # Aplanar una matriz matriz = [[1, 2], [3, 4], [5, 6]] plana = [num for fila in matriz for num in fila] print(plana) # [1, 2, 3, 4, 5, 6]

Buena práctica: Prefiere bucles for sobre while cuando iteres sobre secuencias. Usa while cuando la condición de salida depende del estado del programa.