Coursera 练习题 Mini Project rock-paper-scissor-lizard-Spock
详细请见Coursera
https://www.coursera.org/learn/interactive-python-1
"""Rock-paper-scissors is a hand game that is played by two people. The players count to three in unison and
simultaneously "throw” one of three hand signals that
correspond to rock, paper or scissors. The winner is determined by the rules:
Rock smashes scissors
Scissors cuts paper
Paper covers rock
"""
import random
def name_to_number(name):
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
else:
print("Please print the correct name.")
return number
def number_to_name(number):
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'
else:
print("Please print the correct number.")
return name
def rpsls(player_choice):
# print a blank line to separate consecutive games
print("\n")
# print out the message for the player's choice
print("Player chooses " + player_choice)
# convert the player's choice to player_number using the function name_to_number()
player_number = name_to_number(player_choice)
# compute random guess for comp_number using random.randrange()
comp_number = random.randrange(0, 5)
comp_name = number_to_name(comp_number)
print("Computer chooses " + comp_name)
result_number = (player_number - comp_number) % 5
if (result_number == 2) or (result_number == 1):
print("Player wins!")
elif (result_number == 3) or (result_number == 4):
print("Computer wins!")
elif result_number == 0:
print("Player and computer tie")
# Test
rpsls("rock")
rpsls("Spock")
rpsls("paper")
rpsls("lizard")
rpsls("scissors")