Contenido del curso

Fundamentos de Programación y Python

Programación Orientada a Objetos en Python

Bucles for y while en Python

Resumen

Cuando trabajas con listas en Python, acceder dato por dato con indexación se vuelve tedioso. Los bucles for y while en Python automatizan ese recorrido y te permiten iterar colecciones completas con pocas líneas de código, además de controlar el flujo con sentencias como break y continue.

Esta guía te sirve si estás empezando con Python y necesitas entender cuándo usar cada bucle, cómo funciona range() y cómo combinar condicionales dentro de una iteración.

¿Cómo funciona el bucle for en Python para recorrer una lista?

El for se usa cuando ya sabes sobre qué colección vas a iterar. La idea es simple: por cada elemento dentro de la colección, ejecutas un bloque de código.

Imagina que tienes una lista llamada numbers con los valores del uno al seis. Para recorrerla, escribes:

python numbers = [1, 2, 3, 4, 5, 6] for i in numbers: print("i =", i)

En cada vuelta, i toma el valor del elemento actual. Primero vale 1, luego 2, y así hasta llegar al 6. Si dentro del bucle modificas i (por ejemplo, i = i + 1), ese cambio solo afecta a esa iteración, no a la lista original.

¿Cuándo uso for en lugar de while? Usa for cuando conoces la colección o el rango exacto que quieres recorrer. Usa while cuando la iteración depende de una condición que cambia dinámicamente.

¿Para qué sirve la función range en un for?

range() genera secuencias numéricas sin necesidad de escribir la lista completa. Es el compañero natural del for cuando quieres iterar por posiciones o cantidades.

  • range(10) produce los números del 0 al 9 (siempre uno antes del valor que pasas).
  • range(3, 10) arranca en 3 y termina en 9.
  • Puedes definir inicio, fin y paso según lo que necesites.

python for i in range(3, 10): print(i)

Este bloque imprime los números del 3 al 9. Recuerda que el límite superior nunca se incluye en el resultado.

¿Cómo combinar for con if dentro de una iteración?

Es común que mientras recorres una colección quieras filtrar o detectar un elemento específico. Ahí entra el condicional if dentro del for.

Supón que tienes una lista de frutas y quieres encontrar la naranja:

python frutas = ["manzana", "pera", "uva", "naranja", "naranja", "tomate"] for fruta in frutas: print(fruta) if fruta == "naranja": print("Naranja encontrada")

El bucle imprime cada fruta y, cuando coincide con "naranja", ejecuta la línea adicional. Así combinas iteración y evaluación lógica en el mismo bloque.

¿Cómo se usa el bucle while en Python sin caer en un loop infinito?

while significa mientras en inglés, y eso es justo lo que hace: repite el bloque mientras una condición sea verdadera. El riesgo está en olvidar actualizar la variable que controla la condición.

python x = 0 while x < 5: print(x) x = x + 1

Si olvidas la línea x = x + 1, el valor de x se queda en 0 para siempre y entras en un bucle infinito. La forma de salir cuando esto pasa en la terminal es con Ctrl + C.

La regla mental es clara: dentro del cuerpo del while siempre debe existir algo que modifique la condición para que en algún punto se vuelva falsa.

¿Qué provoca un bucle infinito en while? No actualizar la variable de control dentro del bloque. Si la condición nunca cambia a falsa, el código se repite hasta que lo interrumpes manualmente.

¿Cuál es la diferencia entre break y continue en Python?

Dentro de cualquier bucle puedes alterar el flujo natural con dos palabras reservadas que sirven para situaciones distintas.

  • break: detiene el bucle por completo en el momento en que se ejecuta.
  • continue: salta la iteración actual y pasa directamente a la siguiente.

Mira el contraste con la lista numbers:

python for i in numbers: if i == 3: continue print(i)

Aquí el resultado es 1, 2, 4, 5, 6. El número 3 se omite, pero el bucle sigue su curso. Si en lugar de continue usas break, la salida sería 1, 2 y el bucle termina ahí mismo.

En un while aplica igual:

python x = 0 while x < 5: print(x) if x == 3: break x = x + 1

El código imprime hasta 3 y se detiene. Sin el break, llegaría hasta 4.

¿Cuándo usar continue en vez de break? Usa continue cuando quieres ignorar casos puntuales pero seguir procesando el resto. Usa break cuando ya encontraste lo que buscabas o no tiene sentido continuar.

Estos fundamentos se asimilan mejor cuando los pruebas tú mismo. Cambia los rangos, mete condicionales más complejos, mezcla break y continue en el mismo bucle. ¿Qué ejercicio te gustaría compartir para practicar estos conceptos?