Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 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
- def number_to_name(number):
- # convert number to a name using if/elif/else
- if number == 0:
- name = "rock"
- elif number == 1:
- name = "Spock"
- elif number == 2:
- name = "paper"
- elif number == 3:
- name = "lizard"
- elif number == 4:
- name = "scissors"
- return(name)
- def name_to_number(name):
- # convert name to number using if/elif/else
- if name == "rock":
- number = 0
- elif name == "Spock":
- number = 1
- elif name == "paper":
- number = 2
- elif name == "lizard":
- number = 3
- elif name == "scissors":
- number = 4
- return(number)
- def rpsls(name):
- # compute random guess for comp_number using random.randrange()
- import random
- comp_number = random.randrange(5)
- # convert comp_number to name using number_to_name
- comp_name = number_to_name(comp_number)
- # convert name to player_number using name_to_number
- player_number = name_to_number(name)
- # compute difference of player_number and comp_number modulo five
- difference = player_number-comp_number%5
- # use if/elif/else to determine winner
- if player_number == 2 or player_number == 3 or player_number == 4:
- if difference == 1 or difference == 2:
- winner = player_number
- elif difference == 0:
- winner = -1
- else:
- winner = comp_number
- elif player_number == 0 or player_number == 1:
- if difference == -1 or difference == -2:
- winner = comp_number
- elif difference == 0:
- winner = -1
- else:
- winner = player_number
- # print results
- print "\nPlayer chooses", name
- print "Computer chooses", comp_name
- if winner == comp_number:
- print "Computer wins!"
- elif winner == player_number:
- print "Player wins!"
- else:
- print "Player and computer tie!"
- rpsls("rock")
- rpsls("Spock")
- rpsls("paper")
- rpsls("lizard")
- rpsls("scissors")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement