Bucle while con Python

Con la estructura de control while en Python podemos repetir la ejecución de un bloque de código tantas veces como la evaluación de nuestra condición devuelva True.

while mi_condicion:
    código para ejecutar

Estructura while con Python

La definición de while en Python puede parecer algo confusa. Veamos algunos ejemplos que muestran que se trata de una estructura de control de Python muy sencilla y útil.

Otra tipo de bucle muy utilizado en Python es la estructura de control for.

Bucle infinito con while

Con el siguiente ejemplo vamos a generar un bucle infinito, algo que debemos evitar siempre que trabajemos con bucles.

Asignamos el valor de 1 a la variable un_numero y creamos un bucle que imprimirá en pantalla ‘Hola mundo’ siempre que la condición se cumpla.

¿Va a ser siempre 1 menor que 2? Sí, por esta razón se trata de un bucle infinito. Nuestra estructura de código solo imprime un mensaje, no modifica el valor de nuestra variable un_numero.

Te recomiendo que no ejecutes este programa en tu equipo. Lo he puesto para que se vea, no tiene sentido ejecutarlo. Si a pesar de la recomendación decides ejecutarlo, para cerrar el programa pulsa la combinación de teclas Ctrl – C.

un_numero = 1
while un_numero < 2:
    print('Hola mundo')

# Hola mundo
# ...
# ...
# Hola mundo

Ahora agregaremos una operación aritmética para ir modificando el valor de nuestra variable un_numero. Modificaremos también la condición.

un_numero = 1
while un_numero < 5:
    print('Hola mundo')
    un_numero = un_numero + 1

# Hola mundo
# Hola mundo
# Hola mundo
# Hola mundo

Ejecutamos el bloque de código todas las veces que se cumple la condición de que un_numero sea menor que 5. Creo que se ve más claro con una traza:

Valor → un_numeroCondición → un_numero < 5Imprime ↓
1TrueHola mundo
1 + 1 = 2TrueHola mundo
2 + 1 = 3TrueHola mundo
3 + 1 = 4TrueHola mundo
4 + 1 = 5FalseTermina bucle

Else en el while con Python

La estructura while de Python permite ejecutar un bloque de código cuando la condición ya no se cumpla, es decir, cuando nos devuelve False. En el caso de nuestro ejemplo, esto sucedería cuando el valor de un_numero sea igual o mayor que 5.

un_numero = 1
while un_numero < 5:
    print('Hola mundo')
    un_numero = un_numero + 1
else:
    print('La condición devuelve False')

# Hola mundo
# Hola mundo
# Hola mundo
# Hola mundo
# La condición devuelve False

Break para while

La sentencia break sirve para detener nuestro bucle de forma inmediata.

En este ejemplo podemos ver que ‘Hola mundo’ solo se imprime una vez, aun ejecutando un bucle infinito. Una vez que se ejecuta la instrucción break, salimos del while de forma inmediata.

un_numero = 1
while un_numero < 5:
    print('Hola mundo')
    break

# Hola mundo

Podemos utilizarlo dentro de un if para salir del bucle si se cumple una determinada condición:

un_numero = 1
while un_numero < 5:
    print('Hola mundo')
    un_numero = un_numero + 1
    if un_numero == 3:
        break

# Hola mundo
# Hola mundo

Dejar un comentario

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