Última actualización: 01 de enero de 2023

4.5. Bucle while

En Python tiene una palabra reservada llamada while que nos permite ejecutar ciclos, o bien secuencias periódicas que nos permiten ejecutar código múltiples veces.

El ciclo while nos permite realizar múltiples iteraciones basándonos en el resultado de una expresión lógica que puede tener como resultado un valor True o False.

4.5.1. Tipos de Bucle “while”

A continuación, se presentan algunos ejemplos del uso del bucle while:

4.5.1.1. Bucle “while” controlado por Conteo

A continuación, se presenta un ejemplo del uso del bucle while controlado por conteo:

1
2
3
4
5
6
suma, numero = 0, 1

while numero <= 10:
    suma = numero + suma
    numero = numero + 1
print("La suma es " + str(suma))

En este ejemplo tiene un contador con un valor inicial de cero, cada iteración del while manipula esta variable de manera que incremente su valor en 1, por lo que después de su primera iteración el contador tendrá un valor de 1, luego 2, y así sucesivamente.

Eventualmente cuando el contador llegue a tener un valor de 10, la condición del ciclo numero <= 10 sera False, por lo que el ciclo terminará arrojando el siguiente resultado.

4.5.1.2. Bucle “while” controlado por Evento

A continuación, se presenta un ejemplo del uso del bucle while controlado por Evento:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
promedio, total, contar = 0.0, 0, 0

print("Introduzca la nota de un estudiante (-1 para salir): ")
grado = int(input())
while grado != -1:
    total = total + grado
    contar = contar + 1
    print("Introduzca la nota de un estudiante (-1 para salir): ")
    grado = int(input())
promedio = total / contar
print("Promedio de notas del grado escolar es: " + str(promedio))

En este casi el evento que se dispara cuando el usuario ingresa el valor -1, causando que el bucle while se interrumpo o no se inicie.

4.5.1.3. Bucle “while” con “else”

Al igual que la sentencia if, la estructura while también puede combinarse con una sentencia else).

El nombre de la sentencia else es equivocada, ya que el bloque else se ejecutará en todos los casos, es decir, cuando la expresión condicional del while sea False, (a comparación de la sentencia if).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
promedio, total, contar = 0.0, 0, 0
mensaje = "Introduzca la nota de un estudiante (-1 para salir): "

grado = int(input(mensaje))
while grado != -1:
    total = total + grado
    contar += 1
    grado = int(input(mensaje))
else:
    promedio = total / contar
    print("Promedio de notas del grado escolar: " + str(promedio))

La sentencia else tiene la ventaja de mantener el mismo nombre y la misma sintaxis que en las demás estructuras de control.

4.5.2. Sentencias utilitarias

A continuación, se presentan algunos ejemplos del uso de sentencias utilitarias usadas en el bucle while:

4.5.2.1. Sentencia break

A continuación, se presenta un ejemplo del uso del bucle while controlado la sentencia break:

1
2
3
4
5
6
7
variable = 10

while variable > 0:
    print("Actual valor de variable:", variable)
    variable = variable - 1
    if variable == 5:
        break

Adicionalmente existe una forma alternativa de interrumpir o cortar los ciclos utilizando la palabra reservada break.

Esta nos permite salir del ciclo incluso si la expresión evaluada en while (o en otro ciclo como for) permanece siendo True. Para comprender mejor use el mismo ejemplo anterior pero se interrumpe el ciclo usando la sentencia break.

4.5.2.2. Sentencia continue

A continuación, se presenta un ejemplo del uso del bucle while controlado la sentencia continue:

variable = 10

while variable > 0:
    variable = variable - 1
    if variable == 5:
        continue
    print("Actual valor de variable:", variable)

La sentencia continue hace que pase de nuevo al principio del bucle aunque no se haya terminado de ejecutar el ciclo anterior.

4.5.3. Ejemplos

4.5.3.1. Sucesión de Fibonacci

Definir la Sucesión de Fibonacci con bucle while:

1
2
3
4
5
6
a, b = 0, 1
while b < 100:
    print(
        b,
    )
    a, b = b, a + b

Importante

Usted puede descargar el código usado en esta sección haciendo clic aquí.

Truco

Para ejecutar el código bucle_while.py, abra una consola de comando, acceda al directorio donde se encuentra el mismo, y ejecute el siguiente comando:

$ python bucle_while.py

Ver también

Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento en esta temática.


¿Cómo puedo ayudar?

¡Mi soporte está aquí para ayudar!

Mi horario de oficina es de lunes a sábado, de 9 AM a 5 PM. GMT-4 - Caracas, Venezuela.

La hora aquí es actualmente 7:35 PM GMT-4.

Mi objetivo es responder a todos los mensajes dentro de un día hábil.

Contrata mi increíble soporte profesional