CoolFace
Apppublic

reshinthadith/wordle-solver

sourceHugging Faceupdated 5y agoView on Hugging Face
0likes
utils.py43 linesDownload Raw Back to src
1from itertools import count2from src.metrics import get_word_list,Metrics3 4import logging5import random6logging.basicConfig(level=logging.INFO)7logger = logging.getLogger(__name__)8 9 10 11class WordHash:12    def __init__(self) -> None:13        self.word_list = get_word_list()14    15    def slice_pos(self,pos_letter_pair_list:list)->list:16        counter = 017        tmp = []18        tmp_super_list =  []19        for pos_letter_pair in pos_letter_pair_list:20            pos,letter,flag = pos_letter_pair[0],pos_letter_pair[1],pos_letter_pair[2]21            if flag == "G":22                if counter == 0:23                    for word in self.word_list:24                        if word[pos] == letter:25                            tmp.append(word)26                else:27                    tmp = [word for word in tmp if word[pos] == letter]28                counter = counter + 129            else:30                tmp_super_list.append(tmp)31                if counter == 0:32                    for word in self.word_list:33                        if word[pos] == letter:34                            tmp_super_list[-1].append(word)35                else:36                     tmp_super_list[-1] = [word for word in  tmp_super_list[-1] if word[pos] == letter]37                counter = counter + 1   38        if len(tmp_super_list) != 0:39            return [ i for i in tmp_super_list if len(i) > 0]40        elif len(tmp) != 0 and len(tmp_super_list) == 0:                41            return [tmp]42        else:43            return [self.word_list]