Advertisement
Guest User

Untitled

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