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
A menu for pygame. Simple, and easy to use

pygame-menu Source repo on GitHub, and run it on Repl.it Introduction Pygame-menu is a python-pygame library for creating menus and GUIs. It supports

Pablo Pizarro R. 411 Dec 27, 2022
A two-player strategy game played on a rectangular grid made up of smaller square cells of chocolate 🍫 or cookies 🍪

Chomp Game ©️ Chomp is a two-player strategy game played on a rectangular grid made up of smaller square cells of chocolate 🍫 or cookies 🍪 , which c

Farivar Tabatabaei 2 Feb 02, 2022
Discord based board game, Sneks and Ladders

sneks-and-ladders Discord based board game, Sneks and Ladders intro This is the code-base for the Discord based game, Sneks and Ladders, as used for s

Yohei Nakajima 3 Nov 04, 2022
Follow the numbers - A simple game where the player should follow the numbers and connect the dots

follow_the_numbers This is a simple game where the player should follow the numb

Sammy Mishinev 3 Nov 22, 2022
An asynchronous Minecraft server wrapper written in python3 with asyncio

mark3 (WIP) A modern Minecraft server wrapper written in python3 with asyncio TODO Note: The order of the following checklist doesn't necessarily mean

Colin Andress 7 Jul 29, 2022
Minimalistic generic chess variant GUI using pyffish and PySimpleGUI, based on the PySimpleGUI Chess Demo

FairyFishGUI Minimalistic generic chess variant GUI using pyffish and PySimpleGUI, based on the PySimpleGUI Chess Demo. Supports all chess variants su

Fabian Fichter 6 Dec 20, 2022
Code d'un jeu en python par Graveen (avec mes modifications)

ATTENTION Vous ne devez pas copier coller le code sans le comprendre, apprennez déjà, le python et pygame, et seulement ensuite, vous pourrrez l'utili

TheBigWolfy 7 Nov 02, 2022
This project is an exciting fun game for beginners to build up

This project is an exciting fun game for beginners to build up. The program generates a random number from 1 to 10, or 1 to 100 any range that is specified and the user must guess the number after a

PyLaboratory 0 Feb 07, 2022
Gamelib is a pure-Python single-file library/framework for writing simple games.

Gamelib is a pure-Python single-file library/framework for writing simple games. It is intended for educational purposes (e.g. to be used in b

Diego Essaya 15 Dec 22, 2022
Python module providing simple game networking

nethelper Python module providing simple game networking This module was originally created to facilitate a class on creating multiplayer games in Pyg

Cort 3 Jan 11, 2022
This is an amazing game make using pygame.

This is an awesome balloon game. It is made in python using Pygame library. It is a project game while learning game development.

Rishikesh Kumar 2 Oct 10, 2021
A Cataclysm: Dark Days Ahead launcher with additional features

CDDA Game Launcher A Cataclysm: Dark Days Ahead launcher with additional features. Download here. Implemented features Launching the game Detecting th

Rémy Roy 402 Jan 02, 2023
A 16x16 clone of Minecraft Classic, written in Python with the Ursina Engine

VoxelCraft A 16x16 clone of Minecraft Classic, written in Python with the Ursina Engine Features:Trees, Water(But there's no gravity, so if you break

2 Jun 23, 2022
Allows you to email people wordle spoilers. Very beta, not as many features

wordlespoiler Allows you to email people wordle spoilers. Very beta, not as many features How to Use 1.) Make a new gmail account. Go to settings (Man

0 Jan 04, 2023
Among Us Editor written in Python, for newer versions of the game

Among Us Editor Remake Among Us Editor written in Python, for newer versions of the game. Credits GUI Code by Vresod Data dumping and some GUI code by

Vresod 7 Nov 18, 2022
Editing tool (read/write) .sc files (*_tes.sc , *.sc, *_dl.sc ) from Supercell games (Brawl Stars, Clash Royale, Clash of Clans and others).

SupercellSWF Version 0.1.0.2 About Editing tool (read/write) .sc files (*_tes.sc , *.sc, *_dl.sc ) from Supercell games (Brawl Stars, Clash Royale, Cl

Fred31 11 Jun 23, 2022
PyCharge is an open-source computational electrodynamics Python simulator

PyCharge PyCharge is an open-source computational electrodynamics Python simulator that can calculate the electromagnetic fields and potentials genera

Matthew Filipovich 28 Jan 03, 2023
An easy to use game engine/framework for python.

A game engine powered by python and panda3d.

Petter Amland 1.6k Jan 05, 2023
Logo hitting the corner == best feeling ever!

Bouncing DVD logo - Pygame A little ride back to the 90s. Ah good ol' time! Didn't we all wait for the logo to hit the corners? Best feeling ever!! I

Hoang Nguyen 3 May 25, 2022
This is a two player snake game

Trake This is a two player snake game How to play the game There is food and two players. You try to eat food to become large and gain points. Player

Grrub 1 Dec 19, 2021