Generate Random Number in Python | Heads and Tails Game
Published March 08, 2021In this Post we create a python program that will play the “Heads and Tails” game with the user. This example game works like:
- Randomly generate a 4-digit number
- Take the input from user to guess a 4-digit number
- For every digit that the user entered correctly in the correct place, then they get a “Head”
- For every digit the user entered correctly in the wrong place then he get “Tail”
- Every time the user makes a guess, will give the user to how many “Heads” and “Tails” he have
- 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:
Let's play a game of HeadsTail!
Process finished with exit code 0 |
Article Contributed By :
|
|
|
|
1231 Views |