32. Эрудит.

(открыть в новой вкладке)

Условие:

В известной игре Эрудит (Scrabble™) каждой букве соответствует определенное количество очков. Общая сумма очков, которую получает игрок, составивший это слово, складывается из очков за каждую букву, входящую в его состав. Чем более употребимой является буква в языке, тем меньше очков начисляется за ее использование. В словаре приведены все соответствия букв и очков из английской версии игры:
score = {
1: "aeilnorstu",
2: "dg",
3: "bcmp",
4: "fhvwy",
5: "k",
8: "jx",
10: "qz"
}
Напишите программу, рассчитывающую и отображающую количество очков за собранное слово. Создайте словарь для хранения соответствий между буквами и очками и используйте его в своем решении.

Код:

# ввод данных
score = {
    1: "aeilnorstu",
    2: "dg",
    3: "bcmp",
    4: "fhvwy",
    5: "k",
    8: "jx",
    10: "qz"
}
text = input("%100s" % "Введите текст на английском языке: ")

result = int()
for i in text:
    for a, b in score.items():
        if i in b:
            result += a

print("%99s" % f"Количество очков: {result}.")