"""
Initial, rather clumsy solution to try the PR system out.
ToDo: Use comprehensions to refactor and improve
"""
from data import DICTIONARY, LETTER_SCORES
def load_words():
"""Load dictionary into a list and return list"""
with open(DICTIONARY) as my_dict:
return my_dict.read().splitlines()
def calc_word_value(word):
"""Calculate the value of the word entered into function
using imported constant mapping LETTER_SCORES"""
score = 0
for letter in word:
current_score = LETTER_SCORES.get(letter.upper())
if current_score:
score += current_score
return score
def max_word_value():
"""Calculate the word with the max value, can receive a list
of words as arg, if none provided uses default DICTIONARY"""
max_word = ""
max_score = 0
all_words = load_words()
for word in all_words:
score = calc_word_value(word)
if score > max_score:
max_word = word
max_score = score
return max_word
if name == "main":
pass # run unittests to validate
""" Initial, rather clumsy solution to try the PR system out.
ToDo: Use comprehensions to refactor and improve
""" from data import DICTIONARY, LETTER_SCORES
def load_words(): """Load dictionary into a list and return list""" with open(DICTIONARY) as my_dict: return my_dict.read().splitlines()
def calc_word_value(word): """Calculate the value of the word entered into function using imported constant mapping LETTER_SCORES""" score = 0 for letter in word: current_score = LETTER_SCORES.get(letter.upper()) if current_score: score += current_score return score
def max_word_value(): """Calculate the word with the max value, can receive a list of words as arg, if none provided uses default DICTIONARY""" max_word = "" max_score = 0 all_words = load_words() for word in all_words: score = calc_word_value(word) if score > max_score: max_word = word max_score = score return max_word
if name == "main": pass # run unittests to validate