Ciclos en Python: cómo funcionan los bucles For y While y cómo hacerlos

Última actualización
01 Jun 2023
Tiempo de lectura
7 min
Qué son los bucles en Python

En este artículo aprenderás lo esencial sobre los bucles For y While en Python, cómo funcionan y para qué sirven.

Por lo general, el código en Python se ejecuta de manera secuencial, es decir, empieza por la primera línea, pasa a la segunda y así va. Sin embargo, existen casos, cuando se necesita que un fragmento de código se repita. Python cuenta con las herramientas llamadas bucles o loops para facilitar esta tarea. Los bucles te permiten cambiar el flujo lineal del programa para repetir una parte del código tantas veces que sea necesario.

¿Qué son los bucles en Python?

Primero, aclaremos el término iterar que significa “realizar una acción varias veces”, y cada repetición se llama iteración. Los bucles sirven para que los programas implementen iteraciones, es decir, ejecuten un mismo bloque de código dos o más veces mientras se cumple la condición declarada. Cuando la condición llega a ser falsa, el programa sale del bucle y continúa con su ejecución de forma secuencial.

Qué son los bucles en Python

Fuente: Freepik

El flujo de ejecución es el siguiente:

  1. Evaluar la condición, definiendo si es verdadera o falsa (True o False).
  2. Si la condición es verdadera, ejecutar el cuerpo y regresar al paso 1.
  3. Si la condición es falsa, salir del bucle y continuar con la siguiente sentencia.

Python cuenta con dos tipos de bucles fundamentales:

  • While, los que tienen un número indefinido de iteraciones,
  • For, los que tienen un número definido de iteraciones.

Bucle while

Una forma de iteración en Python es la sentencia while que permite repetir la ejecución de un bloque de código siempre y cuando la condición del bucle sea verdadera.

La sintaxis es muy simple:

while <condición>:
<bloque de código>

El código del cuerpo del bucle debe cambiar una o más variables hasta que la condición resulte falsa y el bucle termine. En este ejemplo la variable de iteración cambia el valor del parámetro cada vez que se ejecuta el ciclo y controla cuándo finaliza el ciclo.

x = 5
while x > 0:
x -= 1
print(x)
print('¡Pum!')
4
3
2
1
0
¡Pum!

En Python se puede indicar una operación alternativa mediante la sentencia else al final del bucle while. El fragmento de código dentro de else se ejecutará una vez la condición del bucle ya no devuelve True, es decir, hasta que la condición del bucle deja de cumplirse.

x = 5
while x > 0:
x -= 1
print(x)
else:
print('Fin del bucle')
4
3
2
1
0
Fin del bucle

Si no hay ninguna variable de iteración que determine cuántas veces tiene que ejecutar un bucle y la condición permanece verdadera, el mismo fragmento de código se repetirá para siempre, lo que producirá un bucle infinito. Normalmente, los bucles infinitos se deben a errores y hay que evitarlos para no perder el control del programa.

x = 5
while x > 0:
print('¡Al infinito y más allá!')
¡Al infinito y más allá!
¡Al infinito y más allá!
¡Al infinito y más allá!
…
Bucle while

Fuente: Unsplash

Bucle For

La sentencia for forma un bucle definido que recorre los elementos de una colección de datos o una secuencia ordenada como listas, diccionarios, tuplas, strings, etc. El bucle hará tantas iteraciones cuántos elementos hay en la secuencia.

El bucle for en Python tiene la siguiente sintaxis:

for <variable> in <secuencia>:
<bloque de código>

Por ejemplo, para iterar los elementos de la lista “idiomas” con un bucle for, se le asigna el nombre “idioma” a una variable que representará los elementos de la lista en cada repetición.

idiomas = ['Árabe', 'Inglés', 'Francés', 'Español']
índice = 0
for idioma in idiomas:
print ('Este idioma está en la lista: ' + idiomas[índice])
índice += 1
Este idioma está en la lista: Árabe
Este idioma está en la lista: Inglés
Este idioma está en la lista: Francés
Este idioma está en la lista: Español

El bucle for con cadenas tipo string funciona de la misma manera, pero con caracteres en lugar de elementos:

cadena = 'Python'
for carácter in cadena:
print(carácter)
P
y
t
h
o
n

Igual que con el bucle while, se puede usar la sentencia else para agregar una acción adicional al finalizar el bucle. Veamos un ejemplo con la función range():

for x in range(5):
print(x)
else:
print('Fin del bucle')
0
1
2
3
4
Fin del bucle

Bucles anidados

Python permite anidar bucles metiendo uno dentro de otro. Esto puede ser útil para resolver problemas más complejos: por ejemplo, si quieres iterar algún objeto donde cada elemento tiene otra clase iterable como una lista de listas.

lista = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]

Para acceder a cada elemento individualmente, puedes anidar dos bucles for. El primero de ellos se encargará de iterar las listas anidadas, y el otro, sus elementos.

for a in lista:
for b in a:
print(b)
1
2
3
4
5
6
7
8
9

De la misma forma puedes anidar un bucle while. Por ejemplo, te puede ayudar si quieres generar todas las combinaciones posibles de dos números:

a = 0
b = 0
while a < 3:
while b < 3:
print(a,b)
b += 1
a += 1
b = 0
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2

¿Cómo se controlan los bucles en Python?

Cómo se controlan los bucles en Python

Fuente: Burst

Usando ciertas instrucciones, puedes interrumpir el flujo de ejecución de un bucle si lo necesitas. La sentencia break “rompe” el bucle en cualquier momento, aun cuando la condición sigue siendo verdadera. En el siguiente ejemplo el bucle for recorre todos los números del rango del 0 al 4, pero el programa finaliza cuando el número tenga el valor de 3:

for x in range(5):
if x == 3:
break
print (x)
0
1
2

Lo mismo pasa con el bucle while: al recibir una entrada determinada, el programa sale del bucle y procede a la siguiente línea del código:

while True:
respuesta = input('> ')
if respuesta == 'salir':
break
else:
print(respuesta)
print ('¡Adiós!')
> ¡Hola!
¡Hola!
> ¿Qué tal?
¿Qué tal?
> salir
¡Adiós!

La sentencia continue termina la iteración corriente sin tomar en cuenta el código que está debajo y se vuelve al inicio del bucle.

x = 0
while x < 5:
x += 1
if x == 3:
continue
print(x)
1
2
4
5

En el ejemplo abajo, cuando el valor llegue a ‘y’, el programa saltará de nuevo al bucle for sin ejecutar la última línea de print y sin salir del bucle:

for carácter in 'Python': 
if carácter == 'y':
continue
print ('La letra es:', carácter)
La letra es: P
La letra es: t
La letra es: h
La letra es: o
La letra es: n

Por último, cabe mencionar la sentencia pass. Cuando la ejecución de un bucle llega a la sentencia pass, simplemente pasa a la siguiente instrucción sin modificar el flujo establecido. Habitualmente, se utiliza para reservar espacio si en el momento de escribir un código hay una parte que todavía no está completada:

for x in range(1, 5):
if x == 2:
pass
print (x)
1
2
3
4

Para aprender más y dominar el lenguaje Python a nivel profesional, en EBAC te ofrecemos el curso online de Python para análisis de datos. En solo dos meses aprenderás a manejar listas y estructuras de datos, visualizar y publicar tu análisis de datos y empezarás a programarlo desde cero. Harás actividades prácticas, a tu ritmo, desde cualquier lugar, con el feedback personalizado de un tutor, y aplicarás tus nuevos conocimientos en un proyecto profesional que te ayudará a enriquecer tu portafolio. Al finalizar el curso, recibirás el certificado de EBAC y acceso a la plataforma de por vida.

Página de inicio / Programación & Data

Python para análisis de datos

Python logoAprende uno de los lenguajes de programación más versátiles y accesibles en la analítica, maneja grandes cantidades de datos de forma automatizada. Agiliza tu trabajo con esta poderosa herramienta, integra tus sistemas, procesa datos más rápido y en diferentes formatos.

2 meses
12x de
$ 527,50 MXN
a meses sin intereses con tarjeta de crédito
Precio total
$ 6.330 MXN
$ 10.550 MXN
Inscríbete al curso
Comparte tu opinión
Recibir notificaciones de otros comentarios

O como invitado

Suscribiete Suscribiete Suscribiete Suscribiete Suscribiete

Más artículos relacionados

22 Oct 2023
8 min
Bill Gates: La mente maestra detrás de Microsoft

Descubre cómo la increíble visión de Bill Gates transformó la tecnología para siempre.

22 Oct 2023
8 min
21 Sep 2023
8 min
¿Qué es DevOps?

Conoce el concepto de DevOps, cómo funciona y qué beneficios trae la cooperación de diferentes equipos IT.

21 Sep 2023
8 min
21 Sep 2023
7 min
Ada Lovelace: La vida y descubrimientos de la hija de lord Byron

Descubre cómo la hija de lord Byron marcó un hito en la historia de la programación.

21 Sep 2023
7 min
21 Sep 2023
7 min
¿Qué es el internet de las cosas?

Aprende cómo funciona la tecnología IoT, dónde se usa, cuáles son sus beneficios y posibles riesgos.

21 Sep 2023
7 min
21 Sep 2023
5 min
¿Qué es un objeto en programación?

Conoce el concepto del objeto en programación y aprende a crear uno para tu programa.

21 Sep 2023
5 min
21 Sep 2023
6 min
Frameworks: Marcos de trabajo para programadores

Descubre cómo puedes facilitar el desarrollo de una aplicación usando frameworks.

21 Sep 2023
6 min