Created
May 6, 2015 19:35
-
-
Save ingtiti/398b345a3dca5d71a06e to your computer and use it in GitHub Desktop.
Rock-paper-scissors-lizard-spock mini project
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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