Skip to content

Instantly share code, notes, and snippets.

@ingtiti
Created May 6, 2015 19:35
Show Gist options
  • Save ingtiti/398b345a3dca5d71a06e to your computer and use it in GitHub Desktop.
Save ingtiti/398b345a3dca5d71a06e to your computer and use it in GitHub Desktop.
Rock-paper-scissors-lizard-spock mini project
# Rock-paper-scissors-lizard-Spock template
# The key idea of this program is to equate the strings
# "rock", "paper", "scissors", "lizard", "Spock" to numbers
# as follows:
#
# 0 - rock
# 1 - Spock
# 2 - paper
# 3 - lizard
# 4 - scissors
# helper functions
import random
def name_to_number(name):
# delete the following pass statement and fill in your code below
if name == 'rock':
return 0
elif name == 'Spock':
return 1
elif name == 'paper':
return 2
elif name == 'lizard':
return 3
elif name == 'scissors':
return 4
else:
return 'wrong name'
# convert name to number using if/elif/else
# don't forget to return the result!
def number_to_name(number):
# delete the following pass statement and fill in your code below
if number == 0:
return 'rock'
elif number == 1:
return 'Spock'
elif number == 2:
return 'paper'
elif number == 3:
return 'lizard'
elif number == 4:
return 'scissors'
else:
return 'wrong number'
# convert number to a name using if/elif/else
# don't forget to return the result!
def rpsls(player_choice):
# delete the following pass statement and fill in your code below
player_number = name_to_number(player_choice)
comp_number = random.randrange(0 , 5)
result = (comp_number - player_number) % 5
print 'Player chooses ' + player_choice
print 'Computer chooses ' + number_to_name(comp_number)
if result >= 3:
print "Player wins! \n"
elif result > 0:
print "Computer wins! \n"
else:
print "Player and computer tie! \n"
# print a blank line to separate consecutive games
# print out the message for the player's choice
# convert the player's choice to player_number using the function name_to_number()
# compute random guess for comp_number using random.randrange()
# convert comp_number to comp_choice using the function number_to_name()
# print out the message for computer's choice
# compute difference of comp_number and player_number modulo five
# use if/elif/else to determine winner, print winner message
# test your code - THESE CALLS MUST BE PRESENT IN YOUR SUBMITTED CODE
rpsls("rock")
rpsls("Spock")
rpsls("paper")
rpsls("lizard")
rpsls("scissors")
print 'original from Beto Garcia'
# always remember to check your completed program against the grading rubric
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment