Hoy vamos a hacer un juego de adivinanzas interactivo en Python.
Este va a ser un simple juego de adivinanzas donde la computadora generará un número aleatorio entre 1 y 10, y el usuario tiene que adivinarlo en 5 intentos.
Basado en la computadora de conjetura del usuario, dará varias pistas si el número es alto o bajo. Cuando la conjetura del usuario coincida con el número, el ordenador imprimirá la respuesta junto con el número de intentos.
Así es como se ve el juego en acción,
Hello, What's your name?Abhijeetokay! Abhijeet I am Guessing a number between 1 and 10:2Your guess is too low4Your guess is too low6You guessed the number in 3 tries!
En este artículo, lo guiaremos a través de cada paso para hacer este juego de adivinanzas interactivo en Python.
Ahora, abra su editor de texto favorito y comience a codificar.
Primero, crearemos un archivo un nuevo archivo llamado game.py
desde nuestro editor de texto.
Para generar un número aleatorio usaremos un módulo Python llamado random
para usar este módulo en nuestro programa, primero necesitamos importarlo.
import random
number = random.randint(1, 10)
Ahora le pediremos al usuario que ingrese su nombre y lo almacene en una variable llamada player_name
.
player_name = input("Hello, What's your name?")
En el siguiente paso, crearemos una variable llamada number_of_guesses
y le asignaremos 0. Más tarde aumentaremos este valor en cada iteración del bucle while.
Finalmente, antes de construir el bucle while, imprimiremos una cadena que incluye el nombre del reproductor.
print('okay! '+ player_name+ ' I am Guessing a number between 1 and 10:')
Ahora diseñemos el bucle while.
while number_of_guesses < 5: guess = int(input()) number_of_guesses += 1 if guess < number: print('Your guess is too low') if guess > number: print('Your guess is too high') if guess == number: break
En la primera línea, estamos definiendo la expresión de control del bucle while. Nuestro juego le dará al usuario 5 intentos de adivinar el número, por lo tanto, menos de 5 porque ya hemos asignado number_of_guesses variable
a 0.
Dentro del bucle, estamos tomando la entrada del usuario y almacenándola en la variable de conjetura. Sin embargo, la entrada de usuario que obtenemos del usuario es un objeto de cadena y para realizar operaciones matemáticas en él primero necesitamos convertirlo en un entero, lo que se puede hacer mediante el método int() incorporado de Python.
En la siguiente línea, estamos incrementando el valor de la variable number_of_guesses
en 1.
Debajo, tenemos 3 declaraciones condicionales.
- En la primera instrucción, if, estamos comparando si la conjetura es menor que el número generado si esta instrucción se evalúa como verdadera, imprimimos la conjetura correspondiente.
- Del mismo modo, estamos comprobando si la conjetura es mayor que el número generado.
- La instrucción if final tiene la palabra clave break, que terminará el bucle por completo, de modo que cuando la suposición sea igual al bucle numérico generado, se terminará.
Debajo del bucle while, necesitamos agregar otro par de declaraciones de condición,
if guess == number: print('You guessed the number in ' + str(number_of_guesses) + ' tries!')else: print('You did not guess the number, The number was ' + str(number))
Aquí estamos verificando primero si el usuario ha adivinado el número o no. si lo hicieron, imprimiremos un mensaje para ellos junto con el número de intentos.
Si el jugador no pudo adivinar el número al final, imprimiremos el número junto con un mensaje.
Si nos ha estado siguiendo, entonces así es como debería verse su programa:
import randomnumber = random.randint(1, 10)player_name = input("Hello, What's your name?")number_of_guesses = 0print('okay! '+ player_name+ ' I am Guessing a number between 1 and 10:')while number_of_guesses < 5: guess = int(input()) number_of_guesses += 1 if guess < number: print('Your guess is too low') if guess > number: print('Your guess is too high') if guess == number: breakif guess == number: print('You guessed the number in ' + str(number_of_guesses) + ' tries!')else: print('You did not guess the number, The number was ' + str(number))
¡Ahora vamos a jugar!
Para ejecutar el juego, escribe esto en tu terminal python game.py
y pulsa Enter.
Esto fue todo, si te quedaste atascado en algún lugar, coge el formulario de código de Github repo