⚡ Bucles en Python: For y While explicados con ejemplos 2026

En este post aprenderemos qué son y cómo utilizar los bucles en Python (While y For), sus diferencias, cómo trabaja cada uno y en qué momento debemos utilizar uno u otro en diferentes casos prácticos. Además incorporamos condicionales y datos estructurados en ejemplos prácticos para que mejores tu lógica de programación.

📓 Abre tu cuaderno de Jupyter Notebook que creaste en la lección anterior (6-Operadores en Python) y vamos a crear un nuevo cuaderno para esta lección. Llámalo 7-Bucles en Python.

📚 Recursos externos para profundizar: Consulta la documentación oficial sobre el bucle for y la documentación sobre el bucle while.

 


🔄 ¿Qué son los bucles en Python?

Imagina que necesitas mostrar los nombres de 100 usuarios, recorrer todos los productos de una tienda o repetir una operación hasta que el usuario introduzca un dato correcto. Podríamos escribir la misma instrucción una y otra vez, pero sería poco práctico y muy difícil de mantener.

Aquí aparecen los bucles en Python. Un bucle nos permite repetir un bloque de código de forma automática, siguiendo unas determinadas reglas.

En Python utilizaremos principalmente dos tipos de bucles: for y while. Aunque ambos sirven para repetir código, funcionan de manera diferente y cada uno resulta más apropiado para determinadas situaciones.

🧠 La idea que debes recordar

Un bucle nos permite decirle a Python:

«Repite estas instrucciones siguiendo estas reglas».

A lo largo del artículo veremos cuándo utilizar for, cuándo utilizar while y cómo controlar el comportamiento de un bucle con break y continue.

Si todavía estás repasando las estructuras básicas de Python, también puedes consultar nuestro artículo sobre condicionales if, elif y else en Python, ya que los condicionales y los bucles suelen trabajar juntos.

 

⚡ El bucle For en Python

Los bucles for en Python, iteran sobre los ítems de cualquier secuencia (lista, cadena, diccionario) en el orden en que aparecen en la secuencia.

Iterar significa realizar cierta acción repetidas veces, y en el caso de for, hace referencia a recorrer elementos iterables, como puede ser un diccionario en búsqueda de un elemento en particular.

Bucles en python - bucle for

Este código podría leerse: Para «char» en L (lista) hacer:

  • Si «char» es exactamente igual a «c»: Imprimir True
  • Sino, si «char» es exactamente igual a «j»: Imprimir True
  • Para todo lo demás será False, evidentemente.

Este bloque de código dentro del bucle se suele llamar «cuerpo del bucle» (que en este caso son condicionales), y cada repetición se suele llamar iteración.

Para no complicarnos tanto podemos entender al bucle for como el encargado de recorrer una secuencia buscando esos elementos que cumplen determinada condición y realizando alguna instrucción según sea especificada. Es importante recalcar que dichos elementos deben ser «iterables», es decir, recorribles.

Un bucle for podría verse como hojear un libro página por página y extraer solo las imágenes. El hecho de extraer solo las imágenes sería la condición y una vez extraídas todas se habría cumplido por lo que el bucle se detendría.

Si has comprendido el uso del ciclo for, es hora de ver su sintaxis. Venga que es muy sencillo!

🖋️ Sintaxis del bucle for

En el caso de un bucle for se debe especificar la variable donde se alojarán los ítem del elemento iterable (lista, diccionario, cadena, etc.)

Se coloca la sentencia for seguida de la variable donde se almacenarán los ítem y luego del operador «in» el elemento a iterar:

for variable in elemento_iterable:
    cuerpo de la repetición

En este caso «elemento_iterable» debe ser obligadamente un elemento iterable, como por ejemplo, un dato estructurado (lista, tupla o diccionario, etc) si es una variable que almacena un solo dato único o es un objeto no iterable, obtendremos un error.

Ejemplo: Iterar una lista de números

# Ejemplo de bucle for para filtrar números pares
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

for num in numeros:
    if num % 2 == 0:  # Si el número es par
        print(num)
Resultado:
2
4
6
8
10
12
14

Aquí estamos creando un bucle que itera sobre la lista números almacenando los ítem de ella en la variable «num» e imprimiendo aquellos que cumplen la condición de «al dividirlos por 2, da resto cero». Esto lo hacemos utilizando el operador aritmético «%» y el de comparación «==» que vimos anteriormente.

Si tu ejecutas este código verás que solo ha de imprimir los números pares, pero si cambiáramos el operador de comparación «==» (exactamente igual) por «!=» (diferente) a cero, nos imprimiría los impares. Prueba lo siguiente:

# Ejemplo de bucle for para filtrar números impares
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

for num in numeros:
    if num % 2 != 0:  # Si el número es impar
        print(num)
Resultado:
1
3
5
7
9
11
13

El bucle es el mismo, pero solo hemos cambiado la condición y en este caso nos imprimirá los números impares de la lista «números».

Ejemplo: Contar letras en una cadena

# Ejemplo de bucle for para contar una letra en una cadena
entrada = "hola estoy programando en python"
contador = 0
cuentalaletra = 'a'

for letra in entrada:
    if letra == cuentalaletra:
        contador += 1

print(cuentalaletra, ':', contador)
Resultado:
a : 3
  1. En este ejemplo tenemos la variable «entrada» que almacena una cadena de texto (String), que podría ser cualquiera.
  2. Seguidamente definimos la variable contador donde iremos sumando 1 a la variable cada vez que se cumpla la condición.
  3. Definimos la variable cuentaletra que se encargará de almacenar el carácter a contar, en este caso «a».
  4. Definimos el bucle for, para la variable «letra» en la variable «entrada» (que es la que almacena la cadena de texto) hacer.
  5. Condición: Si la variable «letra» (que será cada letra, cada iteración) es exactamente igual a «cuentaletra» que será en este caso la letra «a» hacer:
  6. Sumamos 1 a contador automáticamente usando operadores.
  7. Finalmente imprimimos cuentaletra y la variable contador (que almacena cuantas veces encontró la letra)

⚡ El bucle While en Python

El bucle while nos permite ejecutar un bloque de código continuamente mientras la condición sea verdadera. Incluso podemos crear bucles infinitos.

Bucles en python - Bucle While

Estos se ejecutan mientras la condición sea verdadera. Si la condición se cumple, se ejecutará el cuerpo del bucle y al finalizar se volverá a comprobar la condición. Si continúa siendo verdadera, se ejecutará nuevamente. En caso contrario, omitirá el bucle y continuará con la ejecución normal del programa.

Es importante aprendas a diferenciar los bucles en Python, comprendas su funcionamiento y sepas cuándo utilizar uno u otro.

A lo largo de este post veremos diferentes ejemplos que podrás probar en tu cuaderno Jupyter y jugar con el código para experimentar con su funcionamiento.

🖋️ Sintaxis del bucle while

Es realmente muy sencilla, escribimos la palabra reservada While seguida de la condición y dos puntos, debajo de esta se encontrara el cuerpo del mismo.

while (condición):
    Cuerpo de la repetición

Veamos algunos ejemplos:

Ejemplo: Contador usando while

# Ejemplo de bucle while como contador
i = 0

while i <= 9:
    i += 1
    print(i)
Resultado:
1
2
3
4
5
6
7
8
9
10
  1. Definimos la variable «i» y le asignamos el valor «0».
  2. Seguidamente creamos el bucle While con la condición de que se ejecute mientras i sea menor o igual a 9 (revisar operadores de comparación)
  3. Dentro del cuerpo del bucle le sumamos 1 a i, automáticamente a cada vuelta del bucle.
  4. Finalmente imprimimos i.

Como verás se detiene cuando «i» alcanza el valor 10. Porque así está definido, ya que el bucle da una vuelta más y se encuentra con que «i» es igual a 10. Por ende, es mayor a 9. Si quieres que sea exactamente 9 debes tener en cuenta que la comprobación se hace cada comienzo del bucle, por lo que deberías cambiar la condición a detenerse en 8. Este es un detalle muy importante a tener en cuenta en cuanto al funcionamiento de los bucles en Python.

Ejemplo: Menú usando while infinito

# Ejemplo de menú interactivo con while
while True:
    opcion = input("""Elige una fruta para tu desayuno: 
    1- Manzanas
    2- Bananas
    3- Nada
    """)

    if opcion == '1':
        print("Has seleccionado manzanas")
    elif opcion == '2':
        print("Has seleccionado bananas")
    elif opcion == '3':
        print("Has seleccionado nada")
    else:
        print("Debes seleccionar una opción (1, 2 o 3)")

Nota: Se seguirá repitiendo hasta que el usuario seleccione una opción válida.

  1. Creamos un bucle infinito, ya que al colocar un «Mientras sea verdadero» se ejecutará indefinidamente.
  2. Definimos una variable para almacenar el input() o entrada del usuario y le presentamos las opciones. Las cuales se almacenarán en dicha variable.
  3. Creamos un condicional dentro del bucle que se encargará de comprobar que opción ha elegido el usuario y según la elegida habrá de imprimir.
  4. Dentro de cada condicional puedes colocar código personalizado para que suceda alguna otra cosa que solo un print(). Te invito a personalizar este código para practicar, puedes por ejemplo; crear una lista y presentarle al usuario la opción de añadir algún elemento según la opción seleccionada.

Fíjate que en este caso al seleccionar una opción se ejecutará lo que esté dentro del condicional y se volverán a presentar las opciones. Pero, ¿y si queremos que el programa se detenga al haber seleccionado una opción y ejecutado el código dentro del condicional?

Diagrama comparativo bucle for y bucle while + Break y Continue en Python

El diagrama anterior te muestra de forma visual cómo funcionan break y continue dentro de un bucle for o while. Aunque ambos alteran el flujo, lo hacen de manera muy diferente:

🔴 break: finaliza el bucle

Cuando Python encuentra un break, sale inmediatamente del bucle y continúa ejecutando el código que esté después de él. Las iteraciones restantes se ignoran por completo. Es como cuando estás leyendo un libro y encuentras la respuesta que buscabas: cierras el libro y no sigues leyendo el resto de páginas.

Úsalo cuando: ya hayas encontrado lo que necesitas y quieras detener la búsqueda. Por ejemplo, buscar un número en una lista y salir al encontrarlo.

🟠 continue: salta a la siguiente iteración

Cuando Python encuentra un continue, no ejecuta el resto del código de esa iteración, pero el bucle sigue su curso con el siguiente elemento. Es como cuando estás leyendo un libro y encuentras una página que no te interesa: la saltas, pero sigues leyendo el libro.

Úsalo cuando: quieras omitir ciertos elementos o casos concretos, pero necesites seguir procesando el resto. Por ejemplo, procesar solo números positivos y saltar los negativos.

Recuerda: break termina el bucle. continue solo salta una iteración. Elige el que necesites según tu objetivo.

🛑 Break y Continue en Python

Dentro de un bucle, a veces necesitamos controlar su flujo de forma más precisa. Python nos ofrece dos instrucciones muy útiles: break y continue. Ambas permiten modificar el comportamiento normal de un bucle, pero lo hacen de manera diferente.

📚 Recursos oficiales: Consulta la documentación de Python sobre break y continue para profundizar.

🛑 La instrucción break

break se utiliza para finalizar inmediatamente la ejecución del bucle en el que se encuentra. Cuando Python encuentra un break, sale del bucle y continúa ejecutando el código que esté después de él. Es especialmente útil cuando queremos detener un bucle porque ya hemos encontrado lo que buscábamos.

Ejemplo de break: Buscar el primer número par en una lista.

# Buscar el primer número par
numeros = [3, 7, 5, 12, 9, 2, 8]
for num in numeros:
    if num % 2 == 0:
        print(f"Primer número par encontrado: {num}")
        break
print("Bucle finalizado")
Resultado:
Primer número par encontrado: 12
Bucle finalizado

Como ves, el bucle se detiene en cuanto encuentra el primer número par (12). El resto de la lista (9, 2, 8) no se procesa porque break interrumpe la iteración.

🔄 La instrucción continue

continue se utiliza para saltar la iteración actual y continuar con la siguiente. Cuando Python encuentra un continue, no ejecuta el resto del código dentro del bucle para esa iteración, sino que pasa directamente a la siguiente repetición.

Ejemplo de continue: Imprimir solo los números impares de una lista.

# Imprimir solo números impares
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numeros:
    if num % 2 == 0:
        continue  # Saltar números pares
    print(f"Número impar: {num}")
print("Bucle finalizado")
Resultado:
Número impar: 1
Número impar: 3
Número impar: 5
Número impar: 7
Número impar: 9
Bucle finalizado

Aquí, continue hace que los números pares se salten: no se ejecuta el print() para ellos, pero el bucle sigue recorriendo el resto de la lista.

 

 

⚡ Diferencia clave entre break y continue

📊 Comparativa
Instrucción Efecto Consecuencia
break Termina el bucle por completo. No se ejecutan más iteraciones.
continue Salta a la siguiente iteración. El bucle continúa con el siguiente elemento.

📌 ¿Cuándo utilizar break y cuándo continue?

La elección depende de lo que necesites hacer:

  • Usa break cuando: hayas encontrado lo que buscabas y quieras detener el bucle inmediatamente (por ejemplo, buscar un elemento en una lista y salir al encontrarlo).
  • Usa continue cuando: quieras omitir ciertos elementos o casos, pero sigas necesitando procesar el resto de los elementos (por ejemplo, ignorar valores no válidos y continuar con los siguientes).

💡 Ejemplo combinado: break y continue juntos

Veamos un ejemplo donde se usan ambas instrucciones para procesar una lista de números:

# Procesar números hasta que encontremos un número negativo
numeros = [4, 7, 3, -1, 5, 10, 0, 2]
for num in numeros:
    if num < 0:
        print("¡Número negativo detectado! Deteniendo el bucle.")
        break
    if num == 0:
        print("Saltando el 0...")
        continue
    print(f"Procesando: {num}")
print("Programa terminado")
Resultado:
Procesando: 4
Procesando: 7
Procesando: 3
¡Número negativo detectado! Deteniendo el bucle.
Programa terminado

En este ejemplo, el bucle procesa los números hasta que encuentra el -1, donde break lo detiene. Si hubiera un 0, continue lo saltaría y continuaría con el siguiente número.

Recuerda que tanto break como continue solo afectan al bucle más interno donde se encuentran. Si tienes bucles anidados, solo afectarán al bucle que los contiene directamente.


🔍 Pass (expresión nula)

La instrucción pass es como lo indica su nombre, una expresión nula, no hace nada. Es casi como si no existiera, pero nos permite crear un bucle sin colocar código en su cuerpo para añadirlo más tarde, utilizándolo como un relleno temporal.

La diferencia con continue es que este termina la iteración actual pero continúa con la siguiente instrucción o iteración del bucle, volviendo al inicio. En cambio, pass no hace nada y continúa con las siguientes instrucciones de este sin volver al inicio.

 

⚡ ¿For o While? ¿Cuál debo utilizar?
Si necesitas… Utiliza
Recorrer una lista, cadena, diccionario u otro iterable. for
Repetir mientras una condición siga siendo verdadera. while
Detener un bucle antes de que termine normalmente. break
Saltar una iteración y continuar con la siguiente. continue

🆚 Diferencias entre For y While

📊 Diferencias clave entre For y While
Característica Bucle For Bucle While
Traducción «Para» «Mientras»
Iteraciones Número fijo (recorre un iterable) Número variable (depende de una condición)
Bucle infinito No se puede crear directamente Se puede crear (while True:)
Uso común Recorrer listas, cadenas, diccionarios Esperar a que cambie una condición

 

 

⚠️ Los errores más comunes al utilizar Bucles en Python

⚠️ Errores comunes y cómo evitarlos
Error Solución
Olvidar los dos puntos (:) Asegúrate de que cada bucle termine con : después de la condición.
No indentar correctamente Usa 4 espacios o tab para indentar el cuerpo del bucle.
Condición siempre verdadera (bucle infinito) Asegúrate de que la condición pueda volverse False en algún momento.
Acceder a índices inexistentes Cuando necesites recorrer una colección, considera usar for elemento in coleccion en lugar de manejar índices manualmente.

 

🚀 Conclusión – Bucles en Python

Los bucles en Python son herramientas fundamentales para automatizar tareas repetitivas. A lo largo de este artículo hemos visto:

📌 Resumen rápido
Situación Bucle recomendado
Recorrer una lista, cadena, diccionario u otro iterable. for
Repetir un número fijo de veces (range()). for
Repetir hasta que una condición cambie. while
Salir del bucle inmediatamente. break
Saltar una iteración y continuar. continue

Recuerda que los bucles se combinan a la perfección con condicionales y operadores para crear programas dinámicos y eficientes.

¡Esto ha sido todo sobre los bucles en Python! Espero lo hayas comprendido al 100%. Si tienes dudas, déjame un comentario y te ayudaré. ¡No olvides suscribirte para seguir aprendiendo! 🐍

Adiooos! Esto ha sido todo sobre los bucles en Python, espero lo hayas comprendido al 100% y, si no, vuelve al inicio 8)

Cualquier duda puedes dejar un comentario! Gracias por visitar mi blog y no olvides suscribirte!! Nos vemos en la siguiente!

 

📅 Última actualización: agosto 24, 2026

¡Compartir es una forma de agradecer! :)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio