WordleSolver/test.py
2025-06-24 09:59:51 -05:00

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}')