¿Qué son los Bucles?
Los bucles son estructuras que permiten ejecutar un bloque de código múltiples veces. Son fundamentales para procesar datos, realizar cálculos repetitivos y automatizar tareas.
# Ejemplo de un bucle for for numero in range(5): print(f"Contando: {numero}")
Tipos de Bucles
Se utiliza cuando sabemos cuántas veces queremos repetir una acción o cuando queremos iterar sobre una secuencia de elementos.
# Iterar sobre una lista frutas = ["manzana", "banana", "naranja"] for fruta in frutas: print(fruta)
Crea una lista de frutas y usa un bucle for para recorrer cada elemento de la lista. En cada iteración, imprime el nombre de la fruta.
¿Cuándo usarlo?
Cuando necesitas procesar todos los elementos de una colección (lista, tupla, string, etc.).
Se utiliza cuando queremos repetir una acción mientras una condición sea verdadera.
# Contador con while contador = 0 while contador < 5: print(contador) contador += 1
Inicializa una variable contador en 0 y la incrementa en cada iteración mientras sea menor que 5. Imprime el valor de contador en cada paso.
¿Cuándo usarlo?
Cuando no sabes cuántas veces se repetirá la acción y depende de una condición lógica.
Son útiles para trabajar con estructuras de datos multidimensionales o para realizar operaciones que requieren múltiples iteraciones.
# Tabla de multiplicación for i in range(1, 4): for j in range(1, 4): print(f"{i} x {j} = {i * j}")
Usa dos bucles for anidados para imprimir una tabla de multiplicar del 1 al 3. El bucle externo controla la fila (i) y el interno la columna (j).
¿Cuándo usarlo?
Cuando necesitas recorrer estructuras de datos en dos dimensiones (matrices, tablas) o realizar combinaciones de elementos.
break: Termina el bucle inmediatamente.
continue: Salta a la siguiente iteración del bucle.
else: Se ejecuta cuando el bucle termina normalmente (sin break).
# Ejemplo de break y continue for numero in range(10): if numero == 5: break if numero % 2 == 0: continue print(numero) # Ejemplo de else for numero in range(5): print(numero) else: print("Bucle completado")
El primer bloque imprime solo los números impares menores que 5 y se detiene cuando numero es igual a 5. El segundo bloque imprime los números del 0 al 4 y luego muestra un mensaje usando else al finalizar el bucle.
¿Cuándo usarlo?
Cuando necesitas controlar el flujo del bucle, saltar iteraciones o ejecutar acciones al finalizar.
Ejercicios Prácticos
Escribe un programa que calcule la suma de todos los números en una lista usando un bucle for.
numeros = [1, 2, 3, 4, 5] suma = 0 for numero in numeros: suma += numero print(f"La suma es: {suma}")
Crea un juego simple donde el usuario debe adivinar una palabra secreta usando un bucle while.
palabra_secreta = "python" intento = "" while intento != palabra_secreta: intento = input("Adivina la palabra secreta: ").lower() if intento != palabra_secreta: print("¡Incorrecto! Intenta de nuevo.") print("¡Felicidades! Has adivinado la palabra.")
Escribe un programa que imprima los números del 1 al 20, pero que se salte los múltiplos de 3 usando continue.
for numero in range(1, 21): if numero % 3 == 0: continue print(numero)
Crea un programa que busque un tesoro en una lista de ubicaciones y se detenga cuando lo encuentre usando break.
ubicaciones = ["playa", "montaña", "tesoro", "desierto"] for ubicacion in ubicaciones: if ubicacion == "tesoro": print("¡Encontré el tesoro!") break print(f"Buscando en {ubicacion}...")
Escribe un programa que use bucles anidados para imprimir un rectángulo de asteriscos con un ancho y alto específicos.
ancho = 4 alto = 3 for i in range(alto): for j in range(ancho): print("*", end="") print()