# scrabble_score.py
def get_english_score(word):
scores = {
1: set('AEIOULNSTR'),
2: set('DG'),
3: set('BCMP'),
4: set('FHVWY'),
5: set('K'),
8: set('JX'),
10: set('QZ')
}
return sum(next(score for score, letters in scores.items() if letter.upper() in letters) for letter in word)
def get_russian_score(word):
scores = {
1: set('АВЕИНОРСТ'),
2: set('ДКЛМПУ'),
3: set('БГЁЬЯ'),
4: set('ЙЫ'),
5: set('ЖЗХЦЧ'),
8: set('ШЭЮ'),
10: set('ФЩЪ')
}
return sum(next(score for score, letters in scores.items() if letter.upper() in letters) for letter in word)
def calculate_score(word):
if all(ord('A') <= ord(c.upper()) <= ord('Z') for c in word):
return get_english_score(word)
else:
return get_russian_score(word)
def save_result(word, score):
with open('scrabble_results.txt', 'a', encoding='utf-8') as f:
f.write(f"Слово: {word}, Очки: {score}\n")
def process_word(word):
score = calculate_score(word)
save_result(word, score)
return score
Теперь, чтобы использовать этот модуль, вы можете создать основной файл, например main.py, и добавить следующий код:
# main.py
from scrabble_score import process_word
word = input("Введите слово: ")
score = process_word(word)
print(f"Стоимость слова '{word}': {score} очков")