# Generate Random Number in Python | Heads and Tails Game

Published March 08, 2021

In this Post we create a python program that will play the “Heads and Tails” game with the user. This example game works like:

1. Randomly generate a 4-digit number
2. Take the input from user to guess a 4-digit number
3. For every digit that the user entered correctly in the correct place, then they get a “Head”
4. For every digit the user entered correctly in the wrong place then he get  “Tail”
5. Every time the user makes a guess, will give the user to how many “Heads” and “Tails” he have
6. Once the user guesses the correct number, the game is over

Program for the above steps

 ```import random def compare_numbers(number, user_guess): headtail = [0, 0] # Heads, then Tails for i in range(len(number)): if number[i] == user_guess[i]: headtail[1] += 1 else: headtail[0] += 1 return headtail if __name__ == "__main__": playing = True # gotta play the game number = str(random.randint(0, 9999)) # random 4 digit number guesses = 0 print("Let's play a game of HeadsTail!") # explanation print("I will generate a number, and you have to guess the numbers one digit at a time.") print("For every number in the wrong place, you get a Tail. For every one in the right place, you get a Heads.") print("The game ends when you get 4 Heads!") print("Type exit at any prompt to exit.") print("\n") while playing: user_guess = raw_input("Give me your best guess!") if user_guess == "exit": break headstailscount = compare_numbers(number, user_guess) guesses += 1 print("You have " + str(headstailscount[0]) + " Tails, and " + str(headstailscount[1]) + " Heads.") if headstailscount[1] == 4: playing = False print("You win the game after " + str(guesses) + "! The number was " + str(number)) break # redundant exit else: print("Your guess isn't quite right, try again.") ```

Output: