Bienvenidos sean a este post, hoy veremos la otra forma de poder manejar bucles.
En el post anterior vimos como manejar desde bucles repetitivos hasta como obtener todos los elementos de una coleccion por medio de for pero hoy veremos otra alternativa como es while, como mencionamos este tambien nos servira para hacer bucles porque repetira las instrucciones «mientras» se cumpla la condicion, veamos su sintaxis:
while condicion : <instrucciones>
Para entender el concepto vamos a tomar el ejemplo que vimos en el post anterior y vamos aplicarlo con while:
>>> usuarios = ['tinchicus','etortore','polizzia','marcuzzj']
>>> apellidos = ['Miranda','Tortore','Polizzi','Marcuzzi']
>>> nombres = ['Martin','Enzo','Ariel','Javier']
>>> pos = 0
>>> while pos < len(usuarios) :
... usuario = usuarios[pos]
... apellido = apellidos[pos]
... nombre = nombres[pos]
... print(usuario, '\t', apellido + ", " + nombre)
... pos += 1
...
tinchicus Miranda, Martin
etortore Tortore, Enzo
polizzia Polizzi, Ariel
marcuzzj Marcuzzi, Javier
>>>
En este caso primero definiremos un valor para la variable encargada de la posicion, pos, despues usamos un while y su condicion se leera asi: mientras pos sea menor al tamaño de usuarios lo ejecuta; despues crearemos las tres variables que se encargaran de almacenar los valores de cada lista mediante el valor de la posicion, para despues mostrar en pantalla el valor obtenido y finalmente incrementar el valor de pos en 1 para que verifique si se sigue cumpliendo la condicion o no, podemos ver como nos mostraron todos los datos correctamente, recuerdan el ejemplo que vimos cuando hablamos del condicional if, vamos a aplicarlo con while pero a traves de un archivo:
while.py
def chequeo(menu) :
if menu == 1 :
print("Ejecutando la app1")
elif menu == 2 :
print("Ejecutando la app2")
elif menu == 3 :
print("Abriendo la intranet")
elif menu == 4 :
print("Ingresando a internet")
elif menu == 5 :
print("Saliendo del menu")
else :
print("Debes elegir una opcion entre 1 y 5")
m = 0
while m != 5 :
print("Menu:")
print("1 - App1")
print("2 - App2")
print("3 - Intranet")
print("4 - Internet")
print("5 - Salir")
m = int(input("Elige una opcion:"))
chequeo(m)
Primero definiremos una funcion para pasar por todos los condicionales de las opciones disponibles, la unica diferencia que tendremos a la vista en este post es que agregamos la opcion del menu con el valor 5 y el else ahora lo usaremos para decirle al usuario que debe elegir un valor entre 1 y 5, con la funcion definida creamos una variable llamada m con un valor de 0, esto debemos hacerlo porque while necesita tenerlo creada para la condicion, el while se ejecuta mientra m sea distinta de 5, es decir que estaremos ejecutando el menu mientras no apretemos 5, en el cuerpo del while primero mostraremos el menu que podemos elegir, para usar un input que nos permitira ingresar un valor, en este caso antepuse un int para convertirlo porque todos los valores que ingresemos por input son de tipo str y nosotros necesitamos valores de tipo int, una vez que pasemos un valor este pasara por la funcion chequeo y nos devolvera la accion de acuerdo a la opcion que hayamos elegido, veamos el programa en accion mediante el siguiente video
En el video podemos ver como creamos el codigo y una vez ejecutado, este nos muestra el menu, elegimos una opcion, nos muestra la accion correspondiente y vuelve a repetir el menu mientras no presionemos la opcion 5, inclusive vemos como nos notifica si pasamos un valor que no este entre 1 y 5, esta es la utilidad mas practica que tendremos con while.
En resumen, hoy hemos visto otra alternativa para generar bucles, en este caso haremos bucle que se repetira mientras se cumpla la condicion, tambien hemos visto como podemos utilizarlo en un caso practico de la vida real, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.00
