Python Studio ยท project 8 of 18 ยท premium, free for now
Project: rock, paper, scissors referee
Write winner(a, b) that returns "tie", "first" or "second" for two moves. The program already prints winner("rock", "paper").
Learn
A game needs rules a computer can follow. Rock beats scissors, scissors beats paper, paper beats rock. One neat way is to store what each move beats in a dictionary, beats = {"rock": "scissors", ...}, then a move wins when beats[move] equals the other move. Compare the two moves, and return a word.
Your task
Write winner(a, b) that returns "tie", "first" or "second" for two moves. The program already prints winner("rock", "paper").
Stretch challenge
Add lizard and Spock. How many rules do you need now?
Press Run to see what your program prints.
More in this module
Keep going in Python Studio
Project: dice detective
Write best_hand(dice) for five dice that returns one of: five of a kind, four of a kind, full house, three of a kind, two pairs, pair, nothing.
Start โ10Project: build a deck of cards
Build the deck as a list of strings like "A of spades", then print the number of cards, the first card, the last card and how many hearts there are.
Start โPractise the idea
๐ก๏ธ Play Knights and Knaves
Knights always tell the truth and knaves always lie. Read their words and work out who is who.
FAQ
Project: rock, paper, scissors referee: common questions
I am stuck. What can I do?
Press Hint for a nudge, read the message next to each goal, and compare your code with the lesson text. If you still need it, Show answer reveals a model solution. Try to type it yourself rather than copy it.
Does my work get saved?
Your ticks and XP are saved in this browser, and in your account if you log in. The code you type is not stored on a server.
Start a conversation
Enjoying coding? Meet a teacher.
Tell us the learner's age, country and what they would like to build, and we will suggest a class. A parent or guardian can make the enquiry.
- Tell us the learnerโs age or grade and goals
- Weโll suggest a suitable class or learning path
- Weโll confirm format, timing and fees with a parent or guardian
Play it, don't just read it
Write some code right now
Free games that need no sign-up. Pick one and play for five minutes.
Pick a game
- Bug HunterA Python program prints the wrong answer. Find the one line with theโฆPlay
- Predict the OutputRead a short Python program and choose what it prints. Then watch it runโฆPlay
- Code BuilderThe lines of a Python program are mixed up. Tap them into the rightโฆPlay
- Code JungleWrite real Python to guide Miko the monkey to every banana. 24 levels:โฆPlay