scrabble_score help please!


#1



Here is the error: Your function fails on scrabble_score("xenophobia"). It returns "23" when it should return "24".

Please help! Thanks in advance!


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):
    total = 0
    for key in score:
        if key in str(word).lower() :
            total = total + score[key]
    return total


#2

It's only iterating over o once, so the score is off by 1. Try iterating the string, instead.

for key in str(word).lower():
    total += score[key]

#3

I've just finished this assignment and came here to look at alternative solutions... I tested my approach using the word "Xenophobia" too... what are the odds?! Hehe.