¡¡Hola!! Que gusto que estés leyendo mi post 😊. Seguro que en alguna ocasión has jugado a adivinar una palabra o incluso has estado en una rifa, en donde alguien escribe en un papelito un número y alguien tiene que adivinar el número. Bueno pues esta vez vamos a hacer algo mucho mejor porque lo vamos a aprender a hacer en Python.
Para esto, vamos a escoger un número entre el 1 y el 100. Yo voy a escoger el 34 😉.
Además, vamos a ir dando pistas al usuario de qué tan cerca está al número que escogí para que no se quede toda la vida adivinando.
Como primer paso, vamos a crear dos variables:
Una llamada **num **en donde almacenaremos nuestro número a adivinar.
La otra variable va a hacer donde almacenaremos el número que ingresa el usuario. A esta la llamaremos **answer **. Recordemos que para que el usuario pueda ingresar información, utilizamos un input, pero las variables que ingresan por medio de un input quedan guardadas como cadenas de texto o strings. Entonces, indicaremos en el input que la variable a ingresar es un número entero, utilizando int(), para así poder comparar nuestro número almacenado en la variable num que es un entero, con la variable answer, que quedaría como otro entero.
num = 34answer = int(input('Ingresa un número entre 1 y 100 '))
Para este caso, vamos a usar un ciclo while, pues tenemos que repetir un proceso (que es comparar el número ingresado por el usuario, con el número que nosotros escogimos) y no tenemos un rango de datos que explorar (que para este caso sería más práctico usar un for) sino que el usuario puede hacer un número de intentos ilimitados hasta que tanto la variable **num **como la variable **answer **sean iguales.
La condición el ciclo while, va a dar las indicaciones de lo que va a hacer el programa para cuando el número ingresado por el usuario sea diferente al número que escogimos, es decir cuando **num ** != answer
Si num = answer sencillamente, el progama no entra en el ciclo e imprime en pantalla “Muy bien!”, pues el usuario abrá adivinado.
Dentro del ciclo while, hay unas condiciones para indicarle al usuario qué tan cerca está de adivinar el número. Estas condiciones establecen rangos. Entre más cerca esté el usuario al número a adivinar, va a ir cambiando el mensaje indicándole dicha cercanía.
Aquí está el código completo:
num = 34
answer = int(input('Ingresa un número entre 1 y 100 '))
while answer != num:
if answer > 100 or answer <0:
answer = int(input("Escoge un número entre 1 y 100 "))
elif answer == 33 or answer == 35:
answer = int(input("Estás muy cerca "))
elif answer <= 32 and answer >= 29:
answer = int(input ("Estás cerca pero es un número mayor "))
elif answer <= 40 and answer >= 36:
answer = int(input ("Estás cerca pero es un número menor "))
elif answer <= 28:
answer = int(input ("Elige un número mayor "))
elif answer >=40:
answer = int(input("Elige un número menor "))
print ("Muy bien!")
La primera validación que hicimos dentro del ciclo while fue para que el programa limitara la entrada de un número con valores que estuvieran fuera del rango de 0 a 100.
Las demás validaciones, las realicé para poder guiar al usuario y que pudiera adivinar rápidamente el número.
Gracias por leer mi post. Puedes personalizar el programa con los rangos e indicaciones que tú quieras.