Advertisement
andruhovski

rpsls

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