
¿Qué es y cómo funciona el bucle while?
Capítulo 27: El bucle while de Python
Con el bucle while
podrás ejecutar una serie de declaraciones siempre que la condición se cumpla, que sea verdadera. Una vez se convierta en falsa, va a dejar de ejecutar el código del bucle.
Bucle while infinito
Veamos un pequeño ejemplo con un bucle while infinito:
x = 1
while x < 10:
print(x)
El resultado del bucle infinito, es que es imposible salir de él. He creado un bucle infinito , el cuál estará eternamente (hasta detener la ejecución por un medio externo o manualmente) imprimiendo el número 1
en la consola.
1
1
1
1
1
...
Los puntos suspensivos en el resultado, son para representar aquí la ejecución infinita.
Incrementar o decrementar el bucle while
Esto ocurre, porque la condición de este bucle es que se ejecute mientras x
valga menos de 10
y efectivamente, nunca vale más de 10
porque no hay nada que haga que cambie.
Para hacer que el bucle evolucione, debemos añadirle un incremento o un decremento según el caso.
Esto nos lleva a los nuevos operadores de incremento +=
y decremento -=
que harán que las variables puedan ir cambiando de valor numérico.
x = 1
while x < 10:
print(x)
x += 1
Ahora sí, se ejecuta hasta que x
vale 9
.
¿Por qué hasta el 9
?
En la primera ejecución del bucle, x
vale 1
, en la segunda 2
y así hasta el 9
. Cuando vale 10
, ya no se ejecuta porque no cumple con la condición de x < 10
. En este caso, si quieres que se ejecute diez veces, pon un menor o igual qué 10
en la condición.
1
2
3
4
5
6
7
8
9
Mira un ejemplo igual para el decremento:
x = 9
while x > 0:
print(x)
x -= 2
El incremento o decremento, no tiene porque ser de 1
, puede ser en saltos tan grandes cómo quieras.
9
7
5
3
1
Ejercicios de Python
- Crea un bucle
while
que se ejecute hasta quex
valga15
con incrementos de5
. - Crea un bucle
while
que se ejecute hasta quex
valga-100
con decrementos de20
. - Crea un bucle
while
que se ejecute hasta quex
valga0
con decrementos de1
y que muestre en cada ejecución esta frase con el valor de ejecución correspondiente:'El valor del bucle es 10'
...
x = 0
x = 0
x = 10
La solución la encontrarás aquí: Ejercicios resueltos de Python.
Comentarios
Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.