-
Notifications
You must be signed in to change notification settings - Fork 0
/
Scrabble.py
38 lines (29 loc) · 1.47 KB
/
Scrabble.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
# This project looked into the scoring of players in a Scrabble game.
letters = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
points = [1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 4, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10]
zipped = zip(letters, points)
letter_to_points = {key:value for key, value in zipped}
print(letter_to_points)
letter_to_points[" "] = 0
def score_word(word):
point_total = 0
for letter in word:
point_value = letter_to_points.get(letter, 0)
point_total += point_value
return point_total
brownie_points = score_word("BROWNIE")
print("")
print(brownie_points)
player_to_words = {"player1": ["BLUE", "TENNIS", "EXIT"], "wordNerd": ["EARTH", "EYES", "MACHINE"], "Lexi Con": ["ERASER", "BELLY", "HUSKY"], "Prof Reader": ["ZAP", "COMA", "PERIOD"]}
player_to_points = {}
for player, words in player_to_words.items():
player_points = 0
for word in words:
player_points += score_word(word)
player_to_points[player] = player_points
print("")
print(player_to_points)
# If you want extended practice, try to implement some of these ideas with the Python you’ve learned:
# play_word() — a function that would take in a player and a word, and add that word to the list of words they’ve played
# update_point_totals() — turn your nested loops into a function that you can call any time a word is played
# make your letter_to_points dictionary able to handle lowercase inputs as well