La sentencia while
Los ordenadores se utilizan a menudo para automatizar tareas repetitivas. Repetir tareas idénticas o muy similares sin cometer errores es algo que a las máquinas se les da bien y en cambio a las personas no. Como las iteraciones resultan tan habituales, Python proporciona varias características en su lenguaje para hacerlas sencillas.
Una forma de iteración en Python es la sentencia while.
Aquí un programa sencillo que cuenta hacia atrás desde cinco y luego dice ¡Despegue!.
n = 5
while n > 0:
print(n)
n = n - 1
print('¡Despegue!')
Casi se puede leer la sentencia while como si estuviera en inglés. Significado: mientras n sea mayor que 0, muestra el valor de n y luego reduce el valor de n en una unidad. Cuando llegues a 0, sal de la sentencia while y muestra la palabra "¡Despegue!".
Este es el flujo de ejecución de la sentencia while, explicado de un modo más formal.
- Se evalúa la condición, obteniendo
TrueoFalse. - Si la condición es falsa, se sale de la sentencia
whiley se continúa la ejecución en la siguiente sentencia. - Si la condición es verdadera, se ejecuta el cuerpo del
whiley luego se vuelve al paso 1.
Este tipo de flujo recibe el nombre de bucle, ya que el tercer paso enlaza de nuevo con el primero. Cada vez que se ejecuta el cuerpo del bucle se dice que realizamos una iteración. Para el bucle anterior, podríamos decir que tuvo cinco iteraciones, lo que significa que el cuerpo del bucle se ejecutó cinco veces.
El cuerpo del bucle debe cambiar el valor de una o más variables, de manera que la condición pueda en algún momento evaluarse como falsa y el bucle termine. La variable que cambia cada vez que el bucle se ejecuta y controla cuándo termina este, recibe el nombre de variable de iteración. Si no hay variable de iteración, el bucle se repetirá para siempre, resultando así en un bucle infinito.