reshinthadith/wordle-solver
0
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]