while

Estamos ya en el último punto antes de la siguiente prueba de nivel, espero que estéis aprendiendo mucho y muy rápido, ese es el objetivo y para ello os presento al bucle infinito representado por la función:

while

El infinito no existe, es una idea, es abstracto de ahí que solo sirva para definir a un bucle que puede ser muy grande, es un bucle que se genera al darse una condición y no se rompe mientras se cumpla, la estructura es similar al if y utiliza los mismos operadores:

Función ( Objeto/Dato – Operador – Objeto/Dato):

while (obtejo == 1):

Observareis que son estructuras sencillas pero es necesario que no se olvide nada, de ser asi, la maquina no lo puede interpretar, la ventaja que nos da el IDLE es que si durante la ejecución algo falla nos da indicaciones de lo que fallo para poderlo corregir, voy a crear un script de suma infinita, voy a crear un objeto con un numero para sumar, otro objeto que no varié para mantener la condición y voy a crear el bucle con la condición, el print y la suma, quedo así:

## programa para repetir 30 veces lo que diga el usuario

a=int(1)

x=1

while (x==1):

print(a)

a= a + 1

AlainSQ

Este programa no tiene fin de ejecución, como un reloj, lo que hace es mostrar por consola el objeto (a) y justo después a este objeto le suma una unidad y se vuelva a guardar para volverse a mostrar por pantalla y se repite de forma “casi” infinita como se ve en la imagen.

while 1

Maravilloso, veis que Python es muy rápido, parece que la suma va de 100 en 100 pero no, es de 1 en 1, con unas pocas líneas hacemos que la maquina se ponga a trabajar sin descanso, esto puede ser muy útil pero se pueden dar la situaciones donde quiero que el bucle se rompa, podría en este mismo caso hacer que cuando (a) sea iguala un millón cambiar valor del objeto (x) haciendo que valga en vez de uno dos y se romperá el bucle.

Para este ejemplo se me ocurrió algo más divertido, una pelea maquina contra humano, está claro quién va a ganar pero no se aprende solo cuando se gana, voy a ejecutar el siguiente script para que veáis lo que ocurre:

## la guerra de los mundos

password = («hola»)

print («\nSoy tu maquina y de ordendo que me digas hola\n»)

usuario = input()

while (usuario != password):

print («\nTe lo vuelvo a repetir, dime hola o no me ire jamas.\n»)

suario = input()

AlainSQ

Esto es algo divertido pero tu contraseña de Facebook funciona igual, hasta que no es correcta no entras, sin darte cuenta como me ocurrió a mi aprendí a hacer cosas jugando con la máquina, antes del test, guarda este archivo de nuevo pero esta vez en el escritorio que te voy a enseñar una cosa que seguro que te gusta.