Hi,
I am wondering why the code is not updating the score of player after adding a new word just like so:
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]
letter_to_points = {key:value for key, value in zip(letters, points)}
#print(letter_to_points)
letter_to_points[" "] = 0
#print(letter_to_points)
player_to_words = {"player1": ["BLUE", "TENNIS", "EXIT"], "wordNerd":["EARTH", "EYES", "MACHINE"], "Lexi Con": ["ERASER", "BELLY", "HUSKY"], "Prof Reader": ["ZAP", "COMA", "PERIOD"]}
def score_word(word):
points_for_word = 0
for letter in word.upper():
points_for_word += letter_to_points.get(letter, 0)
return points_for_word
def play_word(player, word):
for players in player_to_words:
if player == players:
player_to_words[player].append(word)
return
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
def how_many_points(player):
return player_to_points.get(player, "Player doesn't exist.")
print(how_many_points("Lexi Con"))
print(player_to_points)
play_word("Lexi Con", "train")
print(how_many_points("Lexi Con"))