-
Notifications
You must be signed in to change notification settings - Fork 2
/
mini_project_w1.py
97 lines (81 loc) · 2.11 KB
/
mini_project_w1.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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#
# Mini project week 1:
# Rock-paper-scissors-lizzard-spock
#
# Author: Daniel Platon <[email protected]>
#
# 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):
"""
Returns the name corresponding to a number
"""
retValue = ''
if (number == 0):
retValue = 'rock'
elif (number == 1):
retValue = 'Spock'
elif (number == 2):
retValue = 'paper'
elif (number == 3):
retValue = 'lizzard'
elif (number == 4):
retValue = 'scissors'
else:
print 'No name corresponding to number', number
return retValue
def name_to_number(name):
"""
Returns the number corresponding to a certain choice
"""
retValue = -1;
if (name == 'rock'):
retValue = 0
elif (name == 'Spock'):
retValue = 1
elif (name == 'paper'):
retValue = 2
elif (name == 'lizzard'):
retValue = 3
elif (name == 'scissors'):
retValue = 4
else:
print 'No number corresponding to name', name
return retValue
def rpsls(name):
"""
The main function of the program
"""
# convert the name to the corresponding number
player_number = name_to_number(name)
print 'Player chooses', name
# choose a random number between 0 and 4
computer_number = random.randrange(0,4)
print 'Computer choses', number_to_name(computer_number)
# determine winner
diff = (computer_number - player_number) % 5
if (diff == 0):
print 'Player and computer ties!'
elif (diff <= 2):
print 'Computer wins!'
else:
print 'Player wins!'
# test your code
rpsls("rock")
print '--------'
rpsls("Spock")
print '--------'
rpsls("paper")
print '--------'
rpsls("lizard")
print '--------'
rpsls("scissors")
# always remember to check your completed program against the grading rubric