python-bucles

Qué son y cómo usar bucles en Python

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.

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”.