Sentencia WHILE Con esta sentencia vamos a conseguir que un trozo de código se repita en un bucle mientras que se cumpla una condición. Veamos un ejemplo: >>> n = 0 >>> while n < 10: >>> print "Numero: " + str(n) >>> n = n + 1 Expliquemos un poco este código. Lo primero que hacemos es crear una variable que la igualamos a 0. En la segunda línea comienza nuestro bucle. Ponemos la palabra reservada "while", a continuación nuestra condición y por último ponemos ":". A partir de aquí se va a repetir el código indentado (código que forma parte de nuestro bucle) mientras esa condición sea verdadera. Nuestro ejemplo lo que hace es imprimir el número por pantalla y luego sumamos 1 a la variable "n". Como resultado tenemos esto: >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: Numero: 0 1 2 3 4 5 6 7 8 9 En el momento que la variable llegue a "10" la condición no se cumple y por tanto sale del bucle, y en nuestro caso sale de nuestro programa. Al igual que en las condiciones en IF podemos utilizar diferentes operadores y "and" y "or" para poder tener varias condiciones en una misma sentencia WHILE. Tienes que entender la importancia en el código de la línea "n = n + 1". Si no se pusiera esa línea la condición siempre se cumpliría por lo que entraríamos en un bucle infinito y nuestro programa se quedaría bloqueado. Qué es un bucle while? La instrucción while permite definir bucles. En un bucle while cada vez que se va a repetir el bucle se comprueba si efectivamente hay que repetirlo. La sintaxis del bucle while es la siguiente: while condicion: cuerpo del bucle, que se repetirá mientras la condición sea cierta. EJERCICIOS – Utilizando el While 1. Realice una función que calcule la siguiente operación: XY 2. Realice una función que dice si un número es primo o no. (Un número primo es aquel que solamente es divisible por la unidad (1) y él mismo) Hint. ¿Cómo sabemos si un número a es divisible por un número b? –a%b=0 a es divisible por b –a%b 0 a no es divisible por b 3. Utilizando la función anterior, calcule e imprima todos los número primos del 1 al 100 4. Escriba un programa para jugar a adivinar un número (el computador "piensa" el número y el usuario tiene que adivinarlo). El programa empieza pidiendo entre qué números está el número a adivinar, se "inventa" un número al azar y después el usuario va probando valores y el programa va diciendo si son demasiado grandes o pequeños. Nota: Para generar el número a adivinar utilice la función randrange(mínimo, máximo, paso) del módulo random. Para poder utilizar la función randrange tiene que incluir en el programa la instrucción siguiente: from random import randrange Ej. >>> from random import randrange >>> randrange(1, 100, 2) 11 >>> randrange(1, 100, 2) 67 Ejemplo de Salida del Programa: Valor mínimo: 0 Valor máximo: 100 A ver si adivinas un número entero entre 0 y 100. Escribe un número: 20 ¡Demasiado pequeño! Inténtalo de nuevo: 30 ¡Demasiado grande! Inténtalo de nuevo: 27 ¡Acertaste! Te ha costado 3 intentos