Do you want a beginner Python project to keep you on your programming journey?
Here’s a breakdown of a simple Guessing Game made in Python.
See it live via Replit or view the source code via GitHub.
Full disclosure, this is a part of the Automate The Boring Stuff with Python Programming Course.
Plan the Program with Pseudocode
Pseudocode is like a programmer’s brain dump.
Write out a simple list of the steps this guessing game will go through.
The point of this is to think of each step to better understand what code to write.
Guessing Game Pseudocode:
# Print hello message, ask for **name**
# Accept user input as name
# Print instructions + name
# Set random number to **guess**
# Set guess **limit** to six
# Loop each guess
# Accept user input as guess
# Increase guess limit by one
# Detect if guess is higher or lower
# If lower, print too low message
# If higher, print too high message
# If correct, break
# If correct, print ‘you won’ message
# Else, print the answer i.e. random number
Pseudocode can be edited later as your program can change, but it’s the best place to start.
It should be in the exact same order as if the program was executing it.
Try and edit your pseudocode to make the most simple version of the program.
I like to bold the variables to help my brain figure out where to start, it’s optional.
Program Step By Step
Start by adding a comment using the #
with a title to describe the app.
# Guessing Game - Automate The Boring Stuff with Python Programming Course
In order to use a random number later, we’ll need to use a function from the random module.
import random
Now let’s create a welcome message and ask for the user’s name.
print("Hi there, what\\'s your name?")
name = input("Your name: ")
Lastly, use the name of the player and give them the game instructions.
print ("Hi " + name + ", I\\'m thinking of a number between 1 - 10, what is it? (You have six guesses)")
We need to set the random number to a variable, in this case, it’s x
but you can call it anything.
Since we imported the random module, we can use the randit
function to set the random number. In this case, set it between 1 and 10.
Then set the number of guesses to 6.
x = random.randint(1,10) # Set random number to guess
limit = 6 # Set guess limit to six
Now the meat of the program, detecting if the user’s guess is correct or not and indicating if it’s lower or higher.
The for
loop is perfect for repeating code a set number of times via the range()
function. By setting it to (1,7)
you’ve set the six guess limit.
The if
statement checks the guess is lower, the elif
checks if it’s higher, otherwise the else
passes it off to break
as it’s correct and ends the loop… or the guess limit is reached.
# Detect if higher or lower
for limit in range(1,7):
guess = int(input())
if guess < x:
print("That's lower.")
elif guess > x:
print("That's higher.")
else: break # Stop once correct guess
Lastly, either the guess is equal to the random number or not and a simple if else
statement determines the message to display.
if guess == x: # Display win/loss message
print("Correct! You got it! Nice work " + name + ", the number is " + str(x))
else:
print("Better luck next time, " + name + ", the random number is " + str(x))
If you have feedback, please send me a message via Twitter.
This is Day 8 of #100DaysOfHacking, subscribe to the newsletter to see the journey!
Happy Hacking.