Advertisement
ansakoy

Rock Paper Scissors Lizard Spock

Sep 27th, 2014
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.25 KB | None | 0 0
  1. """
  2. Rock Paper Scissors Lizard Spock
  3. Mini-project for Interactive Programming in Python, Coursera
  4. Week 1
  5. """
  6.  
  7. # The key idea of this program is to equate the strings
  8. # "rock", "paper", "scissors", "lizard", "Spock" to numbers
  9. # as follows:
  10. #
  11. # 0 - rock
  12. # 1 - Spock
  13. # 2 - paper
  14. # 3 - lizard
  15. # 4 - scissors
  16.  
  17. import random
  18.  
  19. # helper functions
  20.  
  21. def name_to_number(name):
  22.     if name == "rock":
  23.         number = 0
  24.     elif name == "Spock":
  25.         number = 1
  26.     elif name == "paper":
  27.         number = 2
  28.     elif name == "lizard":
  29.         number = 3
  30.     elif name == "scissors":
  31.         number = 4
  32.     return number
  33.  
  34.     # convert name to number using if/elif/else
  35.     # don't forget to return the result!
  36.  
  37.  
  38. def number_to_name(number):
  39.     if number == 0:
  40.         name = "rock"
  41.     elif number == 1:
  42.         name = "Spock"
  43.     elif number == 2:
  44.         name = "paper"
  45.     elif number == 3:
  46.         name = "lizard"
  47.     elif number == 4:
  48.         name = "scissors"
  49.     return name
  50.    
  51.     # convert number to a name using if/elif/else
  52.     # don't forget to return the result!
  53.    
  54.  
  55. def rpsls(player_choice):
  56.    
  57.     # print out the message for the player's choice
  58.     print "\nPlayer chooses", player_choice
  59.  
  60.     # convert the player's choice to player_number using the function name_to_number()
  61.     player_number = name_to_number(player_choice)
  62.  
  63.     # compute random guess for comp_number using random.randrange()
  64.     comp_number = random.randrange(0, 5)
  65.  
  66.     # convert comp_number to comp_choice using the function number_to_name()
  67.     # print out the message for computer's choice
  68.     print "Computer chooses", number_to_name(comp_number)
  69.    
  70.     # compute difference of comp_number and player_number modulo five
  71.     result = (player_number - comp_number) % 5
  72.  
  73.     # use if/elif/else to determine winner, print winner message
  74.     if result == 0:
  75.         print "Player and computer tie!"
  76.     elif result <= 2:
  77.         print "Player wins!"
  78.     elif result > 2:
  79.         print "Computer wins!"
  80.    
  81. # test your code - THESE CALLS MUST BE PRESENT IN YOUR SUBMITTED CODE
  82. rpsls("rock")
  83. rpsls("Spock")
  84. rpsls("paper")
  85. rpsls("lizard")
  86. rpsls("scissors")
  87.  
  88. # always remember to check your completed program against the grading rubric
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement