Create a game where the computer picks a random number and the player tries to guess it!
Build a guessing game with these features:
Welcome to the Number Guessing Game!
I'm thinking of a number between 1 and 100.
You have 10 guesses.
Guess 1: 50
Too low! The secret number is higher.
Guess 2: 75
Too high! The secret number is lower.
Guess 3: 62
Too low! The secret number is higher.
Guess 4: 68
Congratulations! You got it in 4 guesses!
# Import random number generator
from random import randint
# Generate secret number
secret_number = randint(1, 100)
# Game loop
for guess_count in range(10):
# Get player's guess
guess = int(input(f"Guess {guess_count}: "))
Random number:
This is something new, but here we're import
-ing a new helpful function, randint
which returns a random number from within a range.
from random import randint
secret = randint(1, 100) # Random number from 1 to 100
Getting user input as a number: You'll want to covnert the guess into an integer to match the secret.
guess = int(input("Enter your guess: "))
Loop for 10 attempts: The user will have 10 attemps
for attempt in range(10):
# This runs 10 times with attempt = 1, 2, 3... 10
break
to exit the loop when they guess correctlyelse
in if/elif/else
handles the "too high" caseprint
statement to "whisper" the secret number to you as you're working out the kinks in your game.# Import random number generator
from random import randint
# Choose Difficulty
while True:
difficulty = input("What is your difficulty level (easy, medium, hard)? ")
if difficulty == "easy":
max_randint = 50
break
elif difficulty == "medium":
max_randint = 100
break
elif difficulty == "hard":
max_randint = 200
break
else:
print(f"Invalid difficulty '{difficulty}'")
max_guesses = 10
best_score = max_guesses + 1
while True:
# Generate secret number
secret_number = randint(1, max_randint)
# Game loop
for guess_count in range(1, max_guesses + 1):
guess = int(input(f"Guess {guess_count}: "))
# Hints
if guess < secret_number:
print("WRONG! The secret number is higher.")
elif guess > secret_number:
print("WRONG! The secret number is lower.")
# Win Condition
else:
print(f"CORRECT! The scret number was {guess}.")
print(f"Score: {guess_count}")
if guess_count < best_score:
best_score = guess_count
print(f"New Best Score: {best_score}")
break
# Guesses Remaining
guesses_left = max_guesses - guess_count
print(f"You have {guesses_left} guesses remaining")
continue_game = input("Would you like to play again (yes, no)? ")
if continue_game == "no":
print(f"Your best score was: {best_score}")
break
What is your difficulty level (easy, medium, hard)? medium WHISPER: 'the secret number is 17' Guess 1: 50 WRONG! The secret number is lower. You have 9 guesses remaining Guess 2: 25 WRONG! The secret number is lower. You have 8 guesses remaining Guess 3: 9 WRONG! The secret number is higher. You have 7 guesses remaining Guess 4: 17 CORRECT! The scret number was {guess}. Score: 4 New Best Score: 4 Would you like to play again (yes, no)? yes WHISPER: 'the secret number is 68' Guess 1: 11 WRONG! The secret number is higher. You have 9 guesses remaining Guess 2: 15 WRONG! The secret number is higher. You have 8 guesses remaining Guess 3: 38 WRONG! The secret number is higher. You have 7 guesses remaining Guess 4: 49 WRONG! The secret number is higher. You have 6 guesses remaining Guess 5: 68 CORRECT! The scret number was {guess}. Score: 5 Would you like to play again (yes, no)? no Your best score was: 4