Scrabble help


#1

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}
         
word = raw_input('Enter a word: ')
def scrabble_score(word):
    total = 0
    for letter in word:
        total += score[letter.lower]
    return total

print(scrabble_score(word))

this doesn't work and I don't understand why, is something wrong with my print?


#2

To execute a function (or method) you have to add a pair of parenthesis.

This line:

total += score[letter.lower]

should be changed to:

total += score[letter.lower()]

Because lower is a method that you want to execute on the letter.


#3

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