6. Exercise: Paper, Scissors, Stone game
Let's use what we have learn so far to build a simple game: Paper, Scissors, Stone.
First, we want to map out the logic of the game, which will help us build a series of
if...elsif...
statements. There can only be finite number of results, as shown below:Human (you) | Computer | Result |
Paper | Scissors | You lose |
Paper | Stone | You win |
Paper | Paper | Draw |
Scissors | Paper | You win |
Scissors | Stone | You lose |
Scissors | Scissors | Draw |
Stone | Scissors | You win |
Stone | Paper | You lose |
Stone | Stone | Draw |
Now, we are ready to capture the above logic into a series of
if...elsif...
statements:if human== "paper" and computer == "scissors":
print("You lose")
elif human== "paper" and computer == "stone":
print("You win")
elif human== "paper" and computer == "paper":
print("Draw")
elif human== "scissors" and computer == "paper":
print("You win")
elif human== "scissors" and computer == "stone":
print("You lose")
elif human== "scissors" and computer == "scissors":
print("Draw")
elif human== "stone" and computer == "scissors":
print("You win")
elif human== "stone" and computer == "paper":
print("You lose")
elif human== "stone" and computer == "stone":
print("Draw")
You can also add a user input using
input()
function, randomized the computer choice using random.randin()
function, as well as adding an else
"end all" condition to improve the game:import random
human = input("Your choice? ")
comp = random.randint(1,3)
if comp==1:
computer = "paper"
elif comp==2:
computer = "scissors"
elif comp==3:
computer = "stone"
print("Computer choice: " + computer)
if human== "paper" and computer == "scissors":
print("You lose")
elif human== "paper" and computer == "stone":
print("You win")
elif human== "paper" and computer == "paper":
print("Draw")
elif human== "scissors" and computer == "paper":
print("You win")
elif human== "scissors" and computer == "stone":
print("You lose")
elif human== "scissors" and computer == "scissors":
print("Draw")
elif human== "stone" and computer == "scissors":
print("You win")
elif human== "stone" and computer == "paper":
print("You lose")
elif human== "stone" and computer == "stone":
print("Draw")
else:
print("Invalid input.")
Last modified 4yr ago