initial, clumsy solutuon #858
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
"""
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