I got bored and wrote a wordle solver... Its pretty good though, just saying

Overview

Wordle Solver

I got bored and wrote a wordle solver... Its pretty good though, just saying. Please go support Josh and have fun with Wordle on the official website https://www.powerlanguage.co.uk/wordle/

TLDR--- Solves in 3.59 turns with a 99% success rate

This solver uses a combination of letter frequency calculations and word list pruning techniques.

I had three goals when writting this code:

  1. Write a solver that works
  2. Optimize using different techniques
  3. Run an experiment to determine if there is a significant difference in the number of turns it takes to solve versus the starting word.

Here are the results of the experiment which can be replicated by running the code yourself.

Top 10 words to start with are: ['tread', 'raspy', 'lusty', 'grand', 'posit', 'shale', 'crust', 'lyric', 'tenor', 'horde']

Worst 10 words to start with are: ['kappa', 'pizza', 'affix', 'fuzzy', 'verve', 'amaze', 'motto', 'queue', 'expel', 'mimic']

Best word to start with: tread
Mean turns to solve: 3.595959595959596
STD: 0.8912178313076166
Success Rate: 99.0++++

Worst word to start with: mimic
Mean turns to solve: 4.515789473684211
STD: 0.943771946564455
Success Rate: 95.0++++
pValue 4.966074332439964e-11

pValue less than 0.05 so we reject the null hypothesis. (there is a significant difference). This just means it matters what word you start with.

#######################################################################################################

The 'Help me solve' function is for educational purposes only. Please do not cheat or it ruins the fun! If you want to use this function just uncomment the line in main.py before you run.

  • Step 1. Go to https://www.powerlanguage.co.uk/wordle/
  • Step 2. Guess a word on the website
  • Step 3. Enter the word into this program at the prompt
  • Step 4. Enter your result in the prompt.
  • Step 5. Repeat steps 1 - 4 until solved.

An example solve:

Most likely word(s): ['slate', 'sauce', 'slice', 'shale', 'saute', 'share', 'sooty', 'shine', 'suite', 'crane']

Guessed word: slate
Result? Example 12002: 01000
There are 87 words remaining.

Most likely word(s): ['golly', 'dolly', 'folly', 'gully', 'dully', 'bully', 'holly', 'fully', 'jolly', 'dilly']

Guessed word: golly
Result? Example 12002: 01120
There are 2 words remaining.

Most likely word(s): ['droll', 'knoll']

Guessed word: droll
Result? Example 12002: 00222
There are 1 words remaining.

Most likely word(s): ['knoll']

Guessed word: knoll
Result? Example 12002: 22222
The solution has been found in 4 steps!
Owner
Darrell Best
AI Research Programmer ... LinkedIn: https://www.linkedin.com/in/darrellsbest/
Darrell Best
Utility to find games owned by all (or at least some) of the passed players.

SteamCommonGameFinder Utility to find games that are owned by all (or at least some) of the players you pass into this programm. You can already find

Daniel O'Grady 4 Jan 04, 2022
Historical battle simulation package for Python

Jomini v0.1.4 Jomini creates military simulations by using mathematical combat models. Designed to be helpful for game developers, students, history e

Ümit Kaan Usta 36 Dec 08, 2022
Atari2600 Training / Evaluation with RLlib

Training Atari2600 by Reinforcement Learning Train Atari2600 and check how it works! How to Setup You can setup packages on your local env. $ make set

Jinwoo Park (Curt) 1 Dec 12, 2021
Minecraft Bedrock Server Control GUI

A control dashboard to monitor and control your minecraft bedrock dedicated server through an easy user interface. Created by Nathan-Busse 13 January 2022 Made with Python 3.8

Nathan Busse 3 Dec 11, 2022
SuperChess is a GUI application for playing chess.

About SuperChess is a GUI application for playing chess. It is written in Python 3.10 programming language, uses PySide6 GUI library, python-chess lib

Boštjan Mejak 1 Oct 16, 2022
Wordle player - A Class that plays wordle optimally

wordle_player A Class that plays wordle optimally if you want to play wordle opt

Andrés Hernández 1 Jan 31, 2022
Ultimaze est un jeu en 2.5D, réalisé dans le cadre d'un projet de NSI.

Ultimaze Ultimaze est un jeu en 2.5D, réalisé dans le cadre d'un projet de NSI. La consigne était d'utiliser la librairie pygame pour créer un jeu en

parlabarbedeMerlin 3 Sep 17, 2022
A small game I made back in think 2011

Navi Network A small game I made back in think 2011. An online game inspired by the self-hosted nature of Minecraft, made with pygame, based on the Me

Peder Bergebakken Sundt 2 Jan 19, 2022
a game of life implementation in python

gameoflife-py python implementation of game of life Installing As long as you have bash and curl installed and are on Linux the install script should

Raghav 5 Jun 09, 2021
The repository that hosts the code that teaches a reinforcement learning - based bot to play 2048

The repository that hosts the code that teaches a reinforcement learning - based bot (based on policy gradients method) to play 2048

Maxim Rud 1 Dec 16, 2021
A minimal open source mtg-like tcg game made in python that can be played on a terminal emulator using a keyboard.

A minimal open source mtg-like tcg game made in python that can be played on a terminal emulator using a keyboard.

Amos 3 Aug 29, 2021
Jogo da velha com interface gráfica desenvolvida em Python utilizando pygame e IA(Inteligência Artificial)

Jogo-da-Velha Sobre o projeto Jogo da velha com interface gráfica desenvolvida em Python utilizando pygame e IA(Inteligência Artificial) Layout tela d

Matheus Maia Alvarez 6 Apr 09, 2022
Multiple hacks that breaks the game

Blooket-Hack All of the cheats are based on a game mode.

glizzz_y 484 Feb 25, 2022
DouZero_For_HLDDZ_FullAuto: 将DouZero用于欢乐斗地主自动化

DouZero_For_HLDDZ_FullAuto: 将DouZero用于欢乐斗地主自动化 本项目基于DouZero 和 DouZero_For_Happy_DouDiZhu 环境配置请移步项目DouZero 模型默认为ADP,更换模型请修改main.py中的模型路径 运行main.py即可 在原

322 Dec 25, 2022
A Gomoku game GUI using pygame where the user can choose to play against another player or an AI using minimax with alpha-beta pruning

Gomoku A GUI based Gomoku game using pygame where the user can choose to play against another player or an AI using minimax with alpha-beta pruning. R

Mingyu Liu 1 Oct 30, 2021
EL JUEGO DEL GUSANITO

EL JUEGO DEL GUSANITO El juego consiste en una línea que no para de moverse, el usuario lo controla con las flechas de: → derecha ← izquierda ↑ arriba

Valeria Saidid Miranda Ibarra 0 Dec 19, 2021
Chess - A python gui application

Chess Python version 3.10 or greater is required to play. Note This is a gui application, and as such will not run inside WSL.

Jonxslays 1 Dec 16, 2021
Memory game in Python

Concentration - Memory Game Concentration is a memory game written in Python, inspired by memory-game. Description As stated in the introduction of th

Marco Colonna 0 Jul 21, 2022
A Pygame Hangman Game coded in Python 3. Run Hangman.py in a terminal if you have Python 3

Hangman A Pygame Hangman Game coded in Python 3. Run python3 Hangman.py in a terminal if you have Python 3.

1 Dec 24, 2022
A comprehensive, feature-rich, open source, and portable, collection of Solitaire games.

PySol Fan Club edition This is an open source and portable (Windows, Linux and Mac OS X) collection of Card Solitaire/Patience games written in Python

Shlomi Fish 368 Dec 28, 2022