diff --git a/.gitignore b/.gitignore index 724f91733..8a48d3472 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ **sqlite .idea/ .DS_Store +.vscode diff --git a/01/hishamo76/wordvalue.py b/01/hishamo76/wordvalue.py new file mode 100644 index 000000000..0de7537fa --- /dev/null +++ b/01/hishamo76/wordvalue.py @@ -0,0 +1,25 @@ +from data import DICTIONARY, LETTER_SCORES + + +def load_words(): + """Load dictionary into a list and return list""" + with open(DICTIONARY) as f: + return [word.strip() for word in f.read().split()] + + +def calc_word_value(word): + """Calculate the value of the word entered into function + using imported constant mapping LETTER_SCORES""" + return sum(LETTER_SCORES.get(char.upper(), 0) for char in word) + + +def max_word_value(words=None): + """Calculate the word with the max value, can receive a list + of words as arg, if none provided uses default DICTIONARY""" + if words is None: + words = load_words() + return max(words, key=calc_word_value) + + +if __name__ == "__main__": + pass # run unittests to validate