Los bucles son una herramienta que nos permite repetir un bloque de código varias veces. En Python, contamos con dos tipos principales de bucles: for y while.
Si quieres aprender más sobre Bucles
consulta el Curso de Introducción a la Programación leer más
Bucle for
El bucle for se utiliza para iterar sobre una secuencia (como una lista, tupla, diccionario, etc.) y ejecutar un bloque de código para cada elemento en esa secuencia.
La sintaxis básica del bucle for
es la siguiente:
for elemento in secuencia:
# bloque de código a ejecutar para cada elemento
Ejemplos bucle for
Iterar sobre una colección
Por ejemplo, podemos utilizar un for
para imprimir cada elemento de una lista:
frutas = ["manzana", "banana", "cereza"]
for fruta in frutas:
print(fruta)
En este caso, el bucle for
recorre la lista frutas
y en cada iteración, asigna el valor del elemento actual a la variable fruta
, la cual es luego impresa. La salida será:
manzana
banana
cereza
Iterar un número de veces
También podemos utilizar el bucle for para realizar una serie de iteraciones específicas, por ejemplo, un número fijo de veces.
Esto se logra utilizando la función range()
, que genera una secuencia de números en un rango dado.
# Ejemplo de bucle for con range(5)
for i in range(5):
print(i)
En este ejemplo, range(5)
genera una secuencia de números desde 0 hasta 4 (excluyendo el 5), y el bucle for
itera sobre cada uno de estos números, asignándolos a la variable i
en cada iteración. Luego, se imprime el valor de i
, resultando en la salida:
0
1
2
3
4
Al combinar range() con un bucle for, podemos iterar sobre esta secuencia y ejecutar un bloque de código una cantidad predeterminada de veces.
Iterar un sobre una cadena de texto
Además de iterar sobre listas y otras secuencias, el bucle for
en Python puede utilizarse para iterar sobre otros tipos de datos, como cadenas de texto. Esto es así porque una cadena de texto es una colección de caracteres.
Cuando utilizamos un bucle for con una cadena de texto, cada iteración del bucle recorrerá los caracteres individuales de la cadena, permitiéndonos procesar o manipular cada uno de ellos según sea necesario.
# Ejemplo de bucle for con una cadena de texto
for letra in "Python":
print(letra)
En este caso, el bucle for
itera sobre cada carácter de la cadena de texto "Python"
. En cada iteración, el valor del carácter actual se asigna a la variable letra
, que luego se imprime. La salida será:
P
y
t
h
o
n
Bucle while
El bucle while se utiliza para repetir un bloque de código mientras una condición sea verdadera. La sintaxis básica del bucle while es la siguiente:
while condicion:
# bloque de código a ejecutar mientras la condición sea verdadera
Ejemplos bucle while
Por ejemplo, podemos utilizar un while
para contar de 1 a 5:
contador = 1
while contador <= 5:
print(contador)
contador += 1
En este caso, el bucle while
se ejecutará mientras la condicion
sea verdadera, es decir, mientras contador
sea menor o igual a 5. En cada iteración, se imprime el valor de contador
y luego se incrementa en 1. La salida será:
1
2
3
4
5
Es importante tener cuidado con las condiciones en los bucles while
, ya que si la condición nunca se vuelve falsa, el bucle se ejecutará indefinidamente, lo que puede causar un bucle infinito
Sentencias break
y continue
Dentro de los bucles en Python, también podemos utilizar las sentencias break y continue para controlar el flujo de ejecución.
Termina el bucle y ejecuta el bloque de código que está después del bucle.
Veamos un ejemplo utilizando break
para salir de un bucle for
:
frutas = ["manzana", "banana", "cereza", "sandía", "uva"]
for fruta in frutas:
print(fruta)
if fruta == "sandía":
break
En este caso, el bucle for
imprimirá cada fruta de la lista hasta que llegue a “sandía”, momento en el cual se ejecutará break
y el bucle se interrumpirá.
Por otro lado, el continue
nos permite saltar a la siguiente iteración sin ejecutar el resto del bloque de código para esa iteración. Veamos un ejemplo:
numeros = [1, 2, 3, 4, 5]
for numero in numeros:
if numero % 2 == 0:
continue
print(numero)
En este ejemplo, el bucle for
itera sobre los números en la lista numeros
. Cuando encuentra un número par (divisible por 2), se ejecuta continue
, lo que significa que el print(numero)
no se ejecuta para ese número y se salta a la siguiente iteración.
En determinadas ocasiones break
y continue
pueden ayudar a mejorar la legibilidad del código. Pero, en general, no conviene abusar de ellos porque dificultan seguir el flujo de código.
Bucles con else
En Python, los bucles también pueden tener una cláusula else, que se ejecuta cuando el bucle termina sin haber sido interrumpido por un break
. Veamos un ejemplo:
numeros = [1, 2, 3, 4, 5]
for numero in numeros:
if numero == 0:
break
else:
print("El bucle ha terminado sin encontrar el número 0")
En este caso, como no hay ningún 0 en la lista numeros
, el bucle se ejecutará completamente y al final se imprimirá “El bucle ha terminado sin encontrar el número 0”.