Question: To practice chained if - elif - else constructs. The game rock - paper - scissors - lizard - spock is an extension of the

To practice chained if-elif-else constructs.
The game "rock-paper-scissors-lizard-spock" is an extension of the commonly known game "rock-paper-
scissors". If youre not familiar with rock-paper-scissors, click here. Rock-paper-scissors-lizard-spock adds
two additional moves to the basic game. The rules are summarized both in this educational video (click to
view), and the image below. The arrows indicate which move beats which. For example, the arrow from
paper to Spock indicates that paper disproves Spock (if one player plays paper, and the other plays Spock,
the one that played paper wins).
There are 25 possible pairs of moves, so sometimes its hard to remember them. You will write a computer
program that will act as a referee. The program will ask for the moves made by the two players via console
input and report which player won.
To solve this problem, youll write a function that accepts the two moves made by the players as arguments,
and returns the outcome (for more detail, see below). Separately, youll write a main program to perform
the console input to request player 1s move, and player 2s move, and then call the function to determine
the outcome.
Note: The computer is not one of the players, the computer only determines who won given the moves
that the two human players made.
Sample Run
Sample input and output (input typed by the user is shown in green text) for two different runs, the first
showing a winner, the second showing a tie.
Enter move for player 1: spock
Enter move for player 2: rock
Player 1 wins !
Enter move for player 1: lizard
Enter move for player 2: lizard
It was a tie !
Advice on how to get started
(a) Write a function called rock_paper_scissors_lizard_spock() that has two parameters: the first pa-
rameter is the move made by player 1, the second parameter is the move made by player 2. The
function should return:
1 when player 1 wins
2 when player 2 wins
0 if the game is tied
Hint: Theres a bad way and a better way to do this question. Youll know youre doing it the bad way
if your program is very long, and if you are tempted to copy/paste/edit to write your code.
The bad way looks at the problem from the point of view of analyzing the 25 combinations of moves by
the players.
The better way consists of looking at the problem from the point of view of the three possible outcomes:
a win for player 1, a win for player 2, or a tie. Try to aim for this approach.
(b) Write an appropriate docstring for your function in part (a).
(c) In the main program (after the function definition), write code to prompt for, and read, the players
moves from the console. You may assume that the user always enters one of the five strings: rock,
paper,scissors,lizard,spock.
(d) Call the rock_paper_scissors_lizard_spock() function giving the two moves as arguments, and save
its return value using a variable.
(e) Use the return value to print a message to the console indicating which player won, or whether it was
a tie.
(f) Your program only has to referee one game. To referee another game, run the program again

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!