# Creating A Guessing Game In Python

Today we are going to make an interactive guessing game in Python.

This is going to be a simple guessing game where the computer will generate a random number between 1 to 10, and the user has to guess it in 5 attempts.

Based on the user’s guess computer will give various hints if the number is high or low. When the user guess matches the number computer will print the answer along with the number of attempts.

This is how the game looks in action,

``````Hello, What's your name?

Abhijeet

okay! Abhijeet I am Guessing a number between 1 and 10:

2
4
6
You guessed the number in 3 tries!``````

In this article, we will guide you through each step of making this interactive guessing game in Python.

Now, open your favorite text editor and start coding.

First, we will create a file a new file named `game.py` from our text editor.

To generate a random number we will use a Python module named `random` to use this module in our program, we first need to import it.

`` import random``
Next, we will use the random module to generate a number between 1 to 10 and store it in a variable named number.
``number = random.randint(1, 10)``

Now we will prompt the user to enter his name and store it to a variable named `player_name`.

``player_name = input("Hello, What's your name?")``

In the next step, we will create a variable named `number_of_guesses` and assign 0 to it. Later we will increase this value on each iteration of the while loop.

Finally, before constructing the while loop, we will print a string which includes the player name.

`` print('okay! '+ player_name+ ' I am Guessing a number between 1 and 10:')``

Now let’s design the while loop.

``````while number_of_guesses < 5:
guess = int(input())
number_of_guesses += 1
if guess < number:
if guess > number:
if guess == number:
break``````

In the first line, we are defining the controlling expression of the while loop. Our game will give user 5 attempts to guess the number, hence less than 5 because we have already assigned the `number_of_guesses variable` to 0.

Within the loop, we are taking the input from the user and storing it in the guess variable. However, the user input we are getting from the user is a string object and to perform mathematical operations on it we first need to convert it to an integer which can be done by the Python’s inbuilt int() method.

In the next line, we are incrementing the value of `number_of_guesses` variable by 1.

Below it, we have 3 conditional statements.

1. In the first, if statement we are comparing if the guess is less than the generated number if this statement evaluates to true, we print the corresponding Guess.
2. Similarly, we are checking if the guess is greater than the generated number.
3. The final if statement has the break keyword, which will terminate the loop entirely, So when the guess is equal to the generated number loop gets terminated.

Below the while loop, we need to add another pair of condition statements,

``````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))``````

Here we are first verifying if the user has guessed the number or not. if they did, then we will print a message for them along with the number of tries.

If the player couldn’t guess the number at the end we will print the number along with a message.

If you have been following us, then this is how your program should look like:

``````import random
number = random.randint(1, 10)

player_name = input("Hello, What's your name?")
number_of_guesses = 0
print('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:
if guess > number:
if guess == number:
break
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))``````

Now let’s run our game!

To run the game, type this in your terminal `python game.py` and hit Enter.

This was it, if you got stuck somewhere grab the code form Github repo

### Related Articles

1. Denis says:

Great article. Do you know if it is possible to publish such example of the game so that it is playable online and accessible by people without python installed? Thanks

1. Jeev says:

Hmm you could try just putting into an online python interpreter like repl.it so it’s automatically saved and ready for the user to play around with once they arrive at the URL. Any other suggestions?

2. Daniel Morales says:

Hi,
I keep getting an error with the player_name variable. The code was working fine originally, but when I go to show off the simple code to a friend it doesn’t work ( never does, does it?). I’m not very sure why the code is acting up saying the name ‘player_name’ is not defined when it was working perfectly fine and out the blue doesn’t want to work properly.

Thanks in advance for any help,
Danny