Si bien l sentencia for ... permite ejecutar exactamente un determinado número de veces al bloque de instrucciones incluidas en su ámbito (aquellas que están indentadas), la sentencia while ... permite repetir también a todas aquellas que conforman su ámbito (indentadas) pero de manera condicional; es decir, mientras se cumpla determinada expresion, segurán ejecutándose dichas instrucciones. En el momento que ya no se cumpla la espresion, contiuará con quella que no está indentada.
Sintaxis
while expresion:
------>sentencia 1
------>sentencia 2
------>......
->
donde expresion está compuesto por una condición de comparación lógica entre dos sub-expresiones.
Cuando termine con ejecutar la úlltima línea de su bucle, retornará a comprobar si la expresión lógica sigue cumpliéndose. Necesariamente, en algún momento la condición de comparación ya no será cierto de otra manera se produce un loop infinito.
Por ejemplo:
Para realizar estos ejemplos, aunque sean muy elementales, debe abrir un nuevo archivo, para ingresar el código y luego ejecutar.
En consecuencia, use [File] - [File new] y grábelo con el nombre xx.py
Digite:
x=0
while x < 9:
print(x)
x+=1
print("Terminó el bucle")
En este ejemplo, las dos líneas indentdas: print(x) y x=x+1, pertenecen al bucle del while.
El proceso empieza siendo x = 0. Ciertamente x < 9. Después de imprimir, x se incrementa en 1. Como es la final del bucle, retorna al while, en donde se pregunta otra vez, pero en este caso ex es 1. Volverá después con x = 2, etc. Cuando reotorne con x = 10, la condición ya no se cumplirá, por tanto se imprimirá: "Se terminó".
Para seguir con ejemplos en este mismo archivo, debemos anular el primer ejemplo para hacer el siguiente.
Esto lo logramos colocando tres comillas dobles antes y después de todo el código que no deseamos se ejecute.
La siguiente imagen muestra lo que queremos decir
Algunas líneas más abajo, pondremos el siguiente ejemplo
Veamos:
cad = "Tengo hambre"
suma = 0
while cad !="":
cad = input("Ingrese la contidad. Para terminar presione [Intro] ")
suma+=suma+val(cad)
print("La suma es",suma)
Ejecute el código y pasemos a otro, para ello, digite las tres doble comillas antes y después de este código, como se muestra en la siguiente imagen.
Siguiente ejemplo: Cargamos a memoria numpy import numpy as np
Al interior del while , vamos a leer un numero. Mientras éste sea positivo, se sumarán: Los valores que se digiten, números enteros que se generen aleatoriamente con np.random.ranint(50) (menor a 50) y números entre 0 y 1, generados aleatoriamente usando np.random.random().
Para ello, debemos inicializar las variables que contendrán la suma, en 0
sumaLeidos = 0
sumaEnteros = 0
sumaDecimales = 0
Leemos un número para preguntar después con while
numero = int(input("Escriba un número positivo: "))
He aquí el while
while numero > 0:
sumaLeidos+= numero
numero = int(input("Escriba un número positivo: "))
sumaEnteros+=np.random.randint(50)
sumaDecimales+=np.random.random()
Ahora pasamos a imprimir
print("\n\nDigitaste un número negativo\nHe sumado:",
"\nValores ingresados:",sumaLeidos,
"\nValores aleatorios enteros",sumaEnteros,
"\nValores aleatorio entre 0 y 1",sumaDecimales)
El ejemplo debe quedar como se muestra en la imagen
Ahora grabamos la modificación y ejecutamos el ejemplo.
Continuar en la siguiente sesión