(Optional) Exercise: Rock, Paper, Scissors

Goal

Implement a Rock, Paper, Scissors program in Python.

Context

This is an optional exercise, but you may want to consider it. We talked about skill isolation and skill integration early in the course. The previous 12 exercises were skill isolation. We focused specifically on expressions, input/output, decisions, and repetition. This exercise builds skill integration.

If you've had experience breaking bigger programming problems down into smaller problems, you can probably skip this exercise. If you're new to programming, we encourage you to give it a try. It can be overwhelming to write a complete program from scratch. That's why we need to practice. A bigger programming problem breaks down into smaller parts (and possibly smaller and smaller and smaller parts). Those parts are isolated skills. We need to think about how we integrate those isolated skills into a rich and robust program.

Requirements

Bare Minimum UI

Player #1 Wins

`Player #1, choose.

  1. Rock
  2. Paper
  3. Scissors Select [1-3]: 3 Player #2, choose.
  4. Rock
  5. Paper
  6. Scissors Select [1-3]: 2 Player #1 wins!`

Player #2 Wins

`Player #1, choose.

  1. Rock
  2. Paper
  3. Scissors Select [1-3]: 3 Player #2, choose.
  4. Rock
  5. Paper
  6. Scissors Select [1-3]: 1 Player #2 wins!`

Tie

`Player #1, choose.

  1. Rock
  2. Paper
  3. Scissors Select [1-3]: 2 Player #2, choose.
  4. Rock
  5. Paper
  6. Scissors Select [1-3]: 2 It's a tie!`

Invalid Choice