forked from Tejadogiparthi/Coursera-Python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Week_1_RPSLS.py
65 lines (56 loc) · 1.33 KB
/
Week_1_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
# 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
import random
def number_to_name(number):
if number == 0:
return "rock"
elif number == 1:
return "Spock"
elif number == 2:
return "paper"
elif number == 3:
return "lizard"
elif number == 4:
return "scissors"
else:
return "invalid"
def name_to_number(name):
if name == "rock":
return 0
elif name == "Spock":
return 1
elif name == "paper":
return 2
elif name == "lizard":
return 3
elif name == "scissors":
return 4
else:
return -1
def rpsls(name):
player_number = name_to_number(name)
comp_number = random.randrange(0,5)
comp_name = number_to_name(comp_number)
print 'Player chooses', name
print 'Computer chooses', comp_name
if 1<=(player_number - comp_number) % 5<=2:
print 'Player wins!'
elif (player_number - comp_number) % 5 >2:
print 'Computer wins!'
else:
print 'Player and computer tie!'
print
# test your code
rpsls("rock")
rpsls("Spock")
rpsls("paper")
rpsls("lizard")
rpsls("scissors")