Глеб Кулапин
Мастер
(1087)
3 месяца назад
def calculate_word_value(word):
letter_values = {
'а': 1, 'б': 3, 'в': 1, 'г': 3, 'д': 2, 'е': 1, 'ё': 3, 'ж': 5, 'з': 5, 'и': 1,
'й': 4, 'к': 2, 'л': 2, 'м': 1, 'н': 1, 'о': 1, 'п': 2, 'р': 1, 'с': 1, 'т': 1,
'у': 2, 'ф': 10, 'х': 5, 'ц': 5, 'ч': 5, 'ш': 8, 'щ': 10, 'ъ': 10, 'ы': 4,
'ь': 3, 'э': 8, 'ю': 8, 'я': 3
}
word = word.lower()
value = sum(letter_values[letter] for letter in word)
return value
word = input("Введите слово: ")
print(calculate_word_value(word))
В случае с английским алфавитом очки распределяются так:
- A, E, I, O, U, L, N, S, T, R – 1 очко;
- D, G – 2 очка;
- B, C, M, P – 3 очка;
- F, H, V, W, Y – 4 очка;
- K – 5 очков;
- J, X – 8 очков;
- Q, Z – 10 очков.
А русские буквы оцениваются так:
- А, В, Е, И, Н, О, Р, С, Т – 1 очко;
- Д, К, Л, М, П, У – 2 очка;
- Б, Г, Ё, Ь, Я – 3 очка;
- Й, Ы – 4 очка;
- Ж, З, Х, Ц, Ч – 5 очков;
- Ш, Э, Ю – 8 очков;
- Ф, Щ, Ъ – 10 очков.
Напишите программу, которая вычисляет стоимость введенного пользователем слова. Будем считать, что на вход подается только одно слово, которое содержит либо только английские, либо только русские буквы.
Пример ввода:
ноутбук
Пример вывода:
12