Domine los Bucles en Python: For, While, Break, Continue y Enumerate Explicados
Domine los Bucles en Python: For, While, Break, Continue y Enumerate Explicados
Los bucles son la columna vertebral de la programación iterativa. Permiten ejecutar un bloque de código repetidamente hasta que se cumple una condición. Python ofrece dos construcciones principales de bucles: for (iteradores) y while (basados en condición).
¿Qué es un Bucle?
Un bucle ejecuta repetidamente un conjunto de sentencias. En Python, los bucles se usan para procesar colecciones, generar secuencias o ejecutar tareas hasta alcanzar un criterio de parada.
Bucles For (Iteradores)
Un bucle for itera sobre los elementos de un iterable —listas, tuplas, strings o rangos. Se detiene automáticamente cuando el iterable se agota, lo que lo hace más seguro que rastrear índices manualmente.
x = 0
for x in range(2, 7):
print(x)
Salida:
2
3
4
5
6
Bucles While (Basados en Condición)
Un bucle while repite mientras una expresión booleana dada permanezca True. Es ideal cuando el número de iteraciones no se conoce de antemano.
x = 0
while x < 4:
print(x)
x += 1
Salida:
0
1
2
3
Iterando sobre Colecciones No Numéricas
Los bucles for funcionan perfectamente con strings y otras colecciones:
meses = ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun']
for m in meses:
print(m)
Salida:
Ene
Feb
Mar
Abr
May
Jun
Salir de un Bucle
La sentencia break termina el bucle inmediatamente. Es útil para salida temprana cuando se cumple una condición.
for x in range(10, 20):
if x == 15:
break
print(x)
Salida:
10
11
12
13
14
Saltar una Iteración
La sentencia continue omite el resto del cuerpo del bucle para la iteración actual y pasa al siguiente ciclo.
for x in range(10, 20):
if x % 5 == 0:
continue
print(x)
Salida:
11
12
13
14
16
17
18
19
Usando enumerate() para Bucles Indexados
La función integrada enumerate() añade un contador a un iterable, devolviendo pares índice-valor.
meses = ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun']
for i, m in enumerate(meses):
print(i, m)
Salida:
0 Ene
1 Feb
2 Mar
3 Abr
4 May
5 Jun
Repetir una Sentencia Múltiples Veces
Puede usar un bucle for sobre una cadena de dígitos o un rango para repetir un mensaje:
for i in '123':
print('guru99', i)
Salida:
guru99 1
guru99 2
guru99 3
Tabla de Ejemplos Comprehensiva
| Tipo de Bucle | Código |
|---|---|
| Bucle while | x = 0
while x < 4:
print(x)
x += 1 |
| Bucle for (numérico) | for x in range(2, 7):
print(x) |
| Bucle for (string) | meses = ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun']
for m in meses:
print(m) |
| Break en bucle for | for x in range(10, 20):
if x == 15:
break
print(x) |
| Continue en bucle for | for x in range(10, 20):
if x % 5 == 0:
continue
print(x) |
| Enumerate en bucle for | meses = ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun']
for i, m in enumerate(meses):
print(i, m) |
Compatibilidad con Python 2
Los ejemplos anteriores usan sintaxis Python 3. Para Python 2, reemplace print() con sentencias print y ajuste el comportamiento de range según corresponda.
# Bucle while
x = 0
while x < 4:
print x
x += 1
# Bucle for
for x in range(2, 7):
print x
# Bucle for sobre string
meses = ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun']
for m in meses:
print m
# Ejemplo break
for x in range(10, 20):
if x == 15:
break
print x
# Ejemplo continue
for x in range(10, 20):
if x % 5 == 0:
continue
print x
# Ejemplo enumerate
for i, m in enumerate(meses):
print i, m
Salida:
0
1
2
3
2
3
4
5
6
Ene
Feb
Mar
Abr
May
Jun
10
11
12
13
14
11
12
13
14
16
17
18
19
0 Ene
1 Feb
2 Mar
3 Abr
4 May
5 Jun
Para referencias más profundas, consulte el tutorial oficial de Python sobre control de flujo.
python
- Dominando bucles while y do-while en C#: Sintaxis, ejemplos y mejores prácticas
- Dominando el bucle for en C#: Sintaxis, flujo y ejemplos prácticos
- Sentencia break en C#: Cómo y cuándo usarla
- Dominando la sentencia continue en C#: Cómo saltar iteraciones de bucles eficazmente
- Dominando la Sentencia break en C++
- Sentencias, indentación y comentarios en Python: Guía clara
- Dominando la sentencia pass en Python: Guía práctica
- Domine los Bucles en Python: For, While, Break, Continue y Enumerate Explicados
- Dominando la función range() de Python: desde lo básico a casos avanzados
- Dominando enumerate() en Python: bucles con índices para listas, tuplas, cadenas y diccionarios
- Comprobador de Números Palíndromos en Java: Algoritmos con Bucles While y For