From 5a29efd147440cb446d988bf875f78d9f271a33f Mon Sep 17 00:00:00 2001 From: Brennen Raimer Date: Thu, 13 Jan 2022 22:03:13 -0500 Subject: [PATCH] gotta switch computers --- rankwords.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/rankwords.py b/rankwords.py index 81c914b..abd85da 100644 --- a/rankwords.py +++ b/rankwords.py @@ -1,6 +1,7 @@ -#! /usr/bin/python +#! /usr/bin/python3 import re +from string import ascii_lowercase letterscore = { "s": 26, @@ -29,7 +30,6 @@ letterscore = { "x": 3, "j": 2, "q": 1, - "\n": 0 } def trimWordList(toRemove, words): @@ -40,12 +40,9 @@ def trimWordList(toRemove, words): pass def rankWord(word, words): - word=word.lower() - score=0 - for letter in word: - score=score+letterscore[letter] + score = sum(letterscore.get(letter, 0) for letter in word.lower()) - multiplier=countDistinct(word) + multiplier=len(set(word)) words[word] = score*multiplier return score*multiplier @@ -73,11 +70,9 @@ def rankLetters(words): rank+=1 def matchKnown(mask, words): - toRemove = [] - for word in words: - if not re.search(mask, word): - toRemove.append(word) - trimWordList(toRemove, words) + toRemove = [word for word in words if not re.search(mask, word)] + (words.remove(word) for word in toRemove) + def removeExcluded(mask, words): toRemove = [] @@ -164,5 +159,5 @@ if __name__ == "__main__": for word in words: - print str(words[word]) + " " + word + print(str(words[word]) + " " + word)