9. scrabble score


#1

Exercise:
https://www.codecademy.com/courses/python-intermediate-en-rCQKw/1/3?curriculum_id=4f89dab3d788890003000096


Error:
Oops, try again. Your function fails on scrabble_score("pie"). It returns "0" when it should return "5".

The code always returns "0", not sure why its not adding each additional letter score.

Code:

score = {"a": 1, "c": 3, "b": 3, "e": 1, "d": 2, "g": 2, 
         "f": 4, "i": 1, "h": 4, "k": 5, "j": 8, "m": 3, 
         "l": 1, "o": 1, "n": 1, "q": 10, "p": 3, "s": 1, 
         "r": 1, "u": 1, "t": 1, "w": 4, "v": 4, "y": 4, 
         "x": 8, "z": 10}
         
def scrabble_score(word):
    player_score = 0
   
    for letter in word.lower():
        if letter == score:
            player_score += score[letter]
    return player_score
    
print scrabble_score("Please work")


#2

You're comparing a character (string) with a dictionary (score is a dictionary)!
Idea**
Adding one more loop!
what if we loop through score and compare letter with looping variable ?
and add their marks to total ?


#3

THANK YOU. It worked. Been doing some derpy things today. :sweat_smile:


#4

cheers!! :thumbsup:
Ps: edit your final working code so other people don't just copy paste your work (and cheat)! :slight_smile:


#5

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.