Contenido del curso
Evaluación de Conocimientos
Retroalimentación del Curso
Python Esencial: Fundamentos, Lógica y Estructuras de Datos

El Poder de la Iteración

La razón principal por la que aprendemos a programar es para dejar de hacer tareas repetitivas. Si tienes que enviar el mismo correo a 500 clientes, hacerlo a mano es ineficiente y propenso a errores. En programación, usamos bucles (loops) para repetir una acción tantas veces como sea necesario.

Los bucles son los «trabajadores incansables» de tu código.

El Bucle `for`: Iterando Colecciones

El bucle `for` es ideal cuando sabes sobre qué quieres iterar (una lista de precios, una lista de correos, un rango de números). Recorre los elementos uno por uno.

Caso de Uso: Aplicar un aumento del 10% a una lista de precios.

precios_2023 = [100, 200, 50, 300]
            precios_2024 = []

            for precio in precios_2023:
                nuevo_precio = precio * 1.10
                precios_2024.append(nuevo_precio)
                print(f"Precio ajustado: {nuevo_precio}")

            print("Actualización completada.")

Aquí, la variable `precio` toma temporalmente el valor de cada elemento de la lista `precios_2023` en cada vuelta del bucle.

El Bucle `while`: Ejecución Condicional

A veces no sabes cuántas veces necesitas repetir algo, sino que dependes de una condición externa. El bucle `while` se ejecuta mientras una condición sea verdadera.

Caso de Uso: Intentar conectar a una API hasta tener éxito o esperar a que se alcance una meta de recaudación.

fondos_recaudados = 0
            meta = 1000
            donacion_promedio = 150

            while fondos_recaudados 

Advertencia de Seguridad: Con `while`, debes asegurarte de que la condición eventualmente se vuelva falsa. Si no, crearás un bucle infinito que congelará tu programa (y posiblemente tu navegador).

Control Fino: `break` y `continue`

Dentro de los bucles, tienes herramientas para alterar el flujo:

* `break`: Detiene el bucle abruptamente. (Ej: «Si encuentro el producto que busco, dejo de revisar la lista»).

* `continue`: Salta la iteración actual y pasa a la siguiente. (Ej: «Si el cliente no tiene email, salto al siguiente cliente sin intentar enviar correo»).

clientes = ["Ana", "", "Carlos", "Diana"]

            for cliente in clientes:
                if cliente == "":
                    continue # Salta el nombre vacío
                print(f"Procesando cliente: {cliente}")