-
Notifications
You must be signed in to change notification settings - Fork 0
/
rpsls.py
71 lines (61 loc) · 1.85 KB
/
rpsls.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import random
# helper functions
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 "Error: no matching number for that name."
number = 5
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 "Error: no matching number for that name."
name = "Error"
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)
# convert comp_number to comp_choice using the function number_to_name()
comp_choice = number_to_name(comp_number)
# print out the message for computer's choice
print "Computer chooses " + comp_choice
# compute difference of comp_number and player_number modulo five
difference = (player_number - comp_number) % 5
# use if/elif/else to determine winner, print winner message
if difference == 0:
print "Player and Computer tie!"
elif difference in [1, 2]:
print "Player wins!"
else:
print "Computer wins!"
rpsls("rock")
rpsls("Spock")
rpsls("paper")
rpsls("lizard")
rpsls("scissors")
rpsls(number_to_name(random.randrange(0, 5)))