9. Scrabble Score - Please Help


#1

This is my 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):
total = 0
nword = str(word).lower()
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}
for letter in nword:
total += score[letter]
return total

It returns the error:
File "python", line 16
SyntaxError: 'return' outside function


#2

i think you forgot indentation for return total


#3

I tried that, it still says the same error. If you indent it 2 times, it says unexpected indent. I fixed it though.


#4

Here is the working code:
def scrabble_score(word):
total = 0
for c in word:
d = c.lower()
total += score[d]
return total


#5

i added this and program works pretty well , thanks.

print scrabble_score(raw_input())