9. Scrabble_score

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

I have a few questions about the code;

so first we say we want to put everything in lowercase, got that

    • why do we always have to start with total = 0? does this mean that we begin the score with 0?

then we say for every letter in the dictionary score, if the letter is a letter, total is the total plus the score (of the letter)
then we return total.

    • is total a keyword in python?

Thank you in advance!

well, we need a variable to keep track of the total score, total is logic variable given this variable will contain the total score, you can also name the variable score or total_score. The total starts out at zero, then we add points to it until we have the total of the word

no, its just a variable name.

1 Like