Assignment: Rock, paper, scissors
Server Academy Members Only
Sorry, this lesson is only available to Server Academy members. Create a free account now to get instant access to this and more free courses. Click the Sign Up Free button below to get access to our free courses now, or sign in if you have an account.
Great job learning about loops and functions, students! Now it's time to put your new knowledge to the test with a fun assignment.
For this assignment, you will create a program that plays the classic game Rock Paper Scissors. Here are the rules of the game:
- The game is played by two players, who each choose one of three options: rock, paper, or scissors.
- If both players choose the same option, the game is a tie.
- Otherwise, rock beats scissors (because rock smashes scissors), scissors beats paper (because scissors cut paper), and paper beats rock (because paper covers rock).
Your program should ask the user for their choice and then randomly choose a choice for the computer. It should then determine the winner of the round and keep track of the score. The game should continue until the user decides to quit.
Example output
Chose an option below:
0: Rock
1: Paper
2: Scissors
Please select a valid option above: 1
Player's choice: Paper
Computer's choice: Paper
It's a tie!
Try the game here!
Tips
Here are some tips to help you get started:
Step 1
Import the Python random module at the top
Code
Step 2
Create variable named choices that is an array of dictionaries that contain two values:
- name (Name of the choice like, rock, paper or scissors)
- beats (The name of the choice that it beats, for example, name=rock would contain beats=scissors)
Code
Step 3
- Write a function called get_computer_choice that returns a random item from the choices dictionaries
- Use random.randint(0, 2)
Code
Step 4
Create a menu that will list all the possible selections and their index (rock, paper, scissors). You can use this code to have access to the index value and choice.
- for index, choice in enumerate(choices):
Code
Step 5
Prompt the user to select and index shown above and then assign the computer's choice to a variable using the get_computer_choice function
Don't forget that when getting the users input that the input() function will return a string. You'll need to cast that to an int using the int() function so you can use it to grab an index of choices.
Hint
Code
Step 6
Output the player's and computer's choice
Code
Step 6
Determine the winner by using the choice.get('name') and choice.get('beats')
Code
Solution
Here is the full code solution if you get stuck or if you have completed the challenge and want to see how I solved wrote the program.
I strongly encourage you to spend time trying to get this game working on your own before viewing this code solution. Remember, hard work always pays off!
Before you view the code!
But now that I have guilted you (lol), you can view the full code solution below
Full code solution
Server Academy Members Only
Want to access this lesson? Just sign up for a free Server Academy account and you'll be on your way. Already have an account? Click the Sign Up Free button to get started..
Saving Progress...
Python 3 Fundamentals
Installing Python on Windows • 1hr 17min
0 / 4 lessons complete
Section Overview
Free Preview Lesson
Text | 1 min
Downloading and Installing Python on Windows
Free Preview Lesson
Text | 8 min
Installing and configuring VS Code for Python
Free Preview Lesson
Text | 8 min
Lab: Installing Python
Free Preview Lesson
Devops Lab | 60
Python Basics • 28min
0 / 7 lessons complete
Section Overview
Free Preview Lesson
Text | 2 min
Executing Python Code
Free Preview Lesson
Text | 3 min
Python 3 Syntax
Free Preview Lesson
Text | 5 min
Help! Python Keywords
Free Preview Lesson
Text | 4 min
Printing to the console!
Free Preview Lesson
Text | 5 min
Python Operators
Free Preview Lesson
Text | 4 min
Section Review
Free Preview Lesson
Quiz | 5 min
Python Variables • 41min
0 / 8 lessons complete
Section Overview
Free Preview Lesson
Text | 4 min
Casting
Free Preview Lesson
Text | 4 min
Strings
Free Preview Lesson
Text | 5 min
Booleans
Free Preview Lesson
Text | 8 min
User Input
Free Preview Lesson
Text | 2 min
Numbers
Free Preview Lesson
Text | 7 min
NoneType
Free Preview Lesson
Text | 5 min
Assignment: Write a Mad Libs Script
Free Preview Lesson
Text | 6 min
Even more Python Variables! • 41min
0 / 6 lessons complete
Python Lists
Free Preview Lesson
Text | 8 min
Python Tuples
Free Preview Lesson
Text | 7 min
Python Sets
Free Preview Lesson
Text | 7 min
Frozensets
Free Preview Lesson
Text | 6 min
Dictionaries
Free Preview Lesson
Text | 8 min
Iterator and Iterable
Free Preview Lesson
Text | 5 min
Conditional Statements • 15min
0 / 3 lessons complete
Section Overview
Free Preview Lesson
Text | 2 min
If Statements
Free Preview Lesson
Text | 6 min
Try, Except
Free Preview Lesson
Text | 7 min
Writing Functions • 30min
0 / 5 lessons complete
Python Loops • 23min
0 / 5 lessons complete
Section Overview
Free Preview Lesson
Text | 2 min
For In Loops
Free Preview Lesson
Text | 5 min
While Loops
Free Preview Lesson
Text | 5 min
Nested Loops
Free Preview Lesson
Text | 3 min
Python Loops Challenge!
Free Preview Lesson
Text | 8 min
Python PIP and Modules • 18min
0 / 4 lessons complete
Section Overview
Free Preview Lesson
Text | 3 min
Installing Python PIP
Free Preview Lesson
Text | 4 min
Installing Modules with PIP
Free Preview Lesson
Text | 5 min
Importing Modules
Free Preview Lesson
Text | 6 min
RegEx • 26min
0 / 4 lessons complete
Section Overview
Free Preview Lesson
Text | 4 min
Regex 101
Free Preview Lesson
Text | 10 min
Importing Regex and manipulating strings
Free Preview Lesson
Text | 7 min
Regex Challenge!
Free Preview Lesson
Text | 5 min
Working with APIs • 12min
0 / 3 lessons complete
Making HTTP Requests
Free Preview Lesson
Text | 3 min
Working with JSON
Free Preview Lesson
Text | 5 min
Get your weather with the OpenWeatherMap
Free Preview Lesson
Text | 4 min
Course Conclusion • 2min
0 / 1 lessons complete