Like most people learning a programming language, or anything else, when I don’t practice something I forget what to do. That’s why I thought I’d make a series of simple games in my next few blogs that practice different Python techniques. Practice doesn’t need to be boring.

user_choice = (input("Enter your choice: rock, paper or scissors... ")).lower()
Adding .lower() mans that the computer will always make the input lower case, this will be useful later. If the user enters SCISSors, scissors, Scissors…It’ll always read it as scissors.
if user_choice == "scissors": print("You chose:" + scissors) elif user_choice == "rock": print("You chose:" + rock) elif user_choice == "paper": print("You chose:" + paper)
An if statement is used in Python for decision making. We want to make a decision between rock, paper and scissors. We are using if, elif (else-if) and else in this game. You need to start an if statement with an if, but you can end with just the if, an elif or an else, depending on what you need.
== means ‘equals to’.
if, else and elifs always end in a colon and are lower case.
its and elifs need to be explained so that the computer knows what you’re looking for e.g.
if user_choice == “scissors”:
In this instance we’re saying if the user types in ‘scissors’ then move on to the next line, which is:
if user_choice == “scissors”:
print(“You chose:” + scissors)
In this instance we’re saying if the user types in ‘scissors’ then move on to the next line, which is:
You’ll notice in the line if user_choice == “scissors'”: scissors is in quotes, this is because it’s looking for a lower case string inputted by the user.
You’ll also notice that in the print line the word scissors isn’t in quotes. When calling variable names (in this case the scissors ascii art) you don’t need quotes.
We want to print words as string “You chose” and we want to add + (concatenate) those words to the variable we made earlier called scissors.
An ‘else’ is used as a way of saying ‘if something else happens’ at the end of an if statement (if you want one) so they don’t need any explanation, if things don’t happen that are part of the rest of your if statement, then the else will deal with it as you require.
E.g. if someone writes “hammer”, the ‘else’ would catch that it’s not rock, paper or scissors and you could leave them a message such as:
else:
print("Please type rock, paper or scissors.")
vars = [rock, paper, scissors] computer_choice = random.choice(vars) print("The computer chose:" + computer_choice)
or...
or...
Our ascii art variable names are rock, paper and scissors. We can put these together in a list [square brackets] and make them one variable called vars.
This is where we can use random, which we imported earlier.
The computer_choice variable is using random.choice (variable_name) to pick a random item from the variable that we just created, vars.
The print statement will print “The computer chose” and random choice of one of the ascii art variables.
Now we can use an if statement and embedded (the indented) if statements to tell it what we want to do.
In the first if statement we can see that the user chooses “scissors”.
We’ve embedded an if statement within this first if statement to tell the computer what we want to do every time the user chooses “scissors”.
We’re telling the computer that if it also chooses scissors it needs to print “It’s a tie…”, if the computer chooses rock then the users loses and if the computer chooses paper then the user wins.
We then have two more if statements with embedded if statements below the first one to cover the user choosing both rock and paper.
All of the if statements end with one else which will print a message if the user fails to type rock, paper or scissors e.g. if they type “hammer”.
if user_choice == "scissors": if computer_choice == scissors: print ("It's a tie! Nice scissors.") elif computer_choice == rock: print("You lose! Rock blunts scissors.") else: print("You win! Scissors cut paper.") elif user_choice == "rock": if computer_choice == rock: print ("It's a tie! Rock 'n' roll.") elif computer_choice == paper: print("You lose! Paper covers rock.") else: print("You win! Rock blunts scissors.") elif user_choice == "paper": if computer_choice == paper: print ("It's a tie! There's paper everywhere.") elif computer_choice == scissors: print("You lose! Scissors cut paper.") else: print("You win! Paper covers rock.") else: print("Please choose, rock, paper or scissors.")
Now we are going to ask the user if they want to play again. If you remember from the while loop, we’re assuming that “y” is true. If the users types anything other than “y” or “Y” e.g., “N” or “p” the loop will break and the game will end with a message.
play_again = input("Would you like to play again? Y/N ").lower()
You’ll notice that the final print statement is not embedded as it’s not part of the loop and only needs to be shown when the user breaks the loop and ends the game.
print("\nThanks for playing!")
If you want to play the game or have a go at editing the code yourself then the full code is below. There are a lot of ways to make this game. We could have made the input an integer so that the user wouldn’t have to type the words e.g. rock = 0, paper = 1 and scissors = 2. Another benefit of this is that it’s be easy to add different languages to the game.
I hope you had fun and I’ll be back with another game soon.
By Hannah Johnstone
import random
play_again = "y"
while play_again == "y":
rock = '''
_______
---' ____)
(_____)
(_____)
(____)
---.__(___)
'''
paper = '''
_______
---' ____)____
______)
_______)
_______)
---.__________)
'''
scissors = '''
_______
---' ____)____
______)
__________)
(____)
---.__(___)
'''
user_choice = (input("Enter your choice: rock, paper or scissors... ")).lower()
if user_choice == "scissors":
print("You chose:" + scissors)
elif user_choice == "rock":
print("You chose:" + rock)
elif user_choice == "paper":
print("You chose:" + paper)
vars = [rock, paper, scissors]
computer_choice = random.choice(vars)
print("The computer chose:" + computer_choice)
if user_choice == "scissors":
if computer_choice == scissors:
print ("It's a tie! Nice scissors.")
elif computer_choice == rock:
print("You lose! Rock blunts scissors.")
else:
print("You win! Scissors cut paper.")
elif user_choice == "rock":
if computer_choice == rock:
print ("It's a tie! Rock 'n' roll.")
elif computer_choice == paper:
print("You lose! Paper covers rock.")
else:
print("You win! Rock blunts scissors.")
elif user_choice == "paper":
if computer_choice == paper:
print ("It's a tie! There's paper everywhere.")
elif computer_choice == scissors:
print("You lose! Scissors cut paper.")
else:
print("You win! Paper covers rock.")
else:
print("Please choose, rock, paper or scissors.")
play_again = input("Would you like to play again? Y/N ").lower()
print("\nThanks for playing!")