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}.")