Когда вы перебираете строку / список в строке, он возвращает массив.
>>> x = "many"
>>> y = [i for i in x]
>>> y
['m', 'a', 'n', 'y']
При поиске значения в словаре это делается так же, как доступ к списку на основе индекса.
>>> a = {"x": 1, "y": 2, "z": 3}
>>> b = a["x"]
>>> b
1
В вашем случае вы объединяете оба вышеперечисленных. Итак, во-первых, составьте список из баллов, эквивалентных буквам в слове
>>> letter_val = {" ": 0, "a": 1, "b": 3, "c": 3, "d": 2, "e": 1, "f": 4, "g": 2, "h": 4, "i": 1, "j": 8, "k": 5, "l": 1, "m": 3, "n": 1, "o": 1, "p": 3, "q": 10, "r": 1, "s": 1, "t": 1, "u": 1, "v": 4, "w": 4, "x": 8, "y": 4, "z": 10}
>>> word = "abc"
>>> scores = [letter_val[i] for i in word]
>>> scores
[1, 3, 3]
Затем найдите сумму значений списка
>>> value = sum(scores)
>>> value
7