48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
from WordleSolver import WordleSolver
|
|
|
|
with open('wordle-words.txt', 'r') as file:
|
|
WORD_LIST = [ word.strip() for word in file.readlines() ]
|
|
|
|
def score_word(correct_word: str, guess: str) -> str:
|
|
r = ''
|
|
for i, letter in enumerate(guess):
|
|
if letter == correct_word[i]:
|
|
r += 'g'
|
|
elif letter in correct_word:
|
|
r += 'y'
|
|
else:
|
|
r += 'b'
|
|
|
|
return r
|
|
|
|
guesses: list[int] = []
|
|
for correct_word in WORD_LIST:
|
|
ws = WordleSolver()
|
|
|
|
guess_count: int = 0
|
|
while True:
|
|
guess_count += 1
|
|
ws.score_words()
|
|
|
|
print(ws.scores)
|
|
|
|
word_to_guess: str = ws.scores[0][0]
|
|
|
|
print(f'Guessing word {word_to_guess}')
|
|
score = score_word(correct_word, word_to_guess)
|
|
print(f'{score=}')
|
|
if score == 'ggggg':
|
|
print(f'Got word "{correct_word}" in {guess_count} guesses!')
|
|
break
|
|
elif guess_count > 6:
|
|
break
|
|
|
|
ws.add_guess(word_to_guess, score)
|
|
|
|
average = sum(guesses) / len(guesses)
|
|
print(f'Average Guesses: {average}')
|
|
|
|
|
|
|
|
|