Published: Jan 17, 2022 by Steve Baskauf
I’ve recently started playing the viral word game “Wordle”. After numerous discussions among family members about guessing strategy, I decided to spend some time over the holiday weekend writing a Python script to play with different guessing algorithms and strategies.
The details are in a blog post, but if you don’t like reading text and just want to start playing with the code, you can go straight to this Colab notebook to run and hack the code yourself.
The TLDR summary of the blog post is:
- I generated a list of five-letter English words of a similar size to what is used in the game.
- I created a
Wordle_list
object that screens word lists based on “guess codes” (an alphanumeric version of the colored squares that the app shows you after you guess). - I messed around with different ways to use letter frequencies in the words to assign scores to words in a list based on estimating how effective the words would be at screening out the other words.
- I wrote some code to generate the most effective words to use as automatic first two guesses (spoiler alert). They are “arose” and “glint”.
- I used existing Wordle game words to test whether it was more effective to just use these two words, or to let the scoring system chose the second word. It didn’t make much difference.
Enjoy!