Wordle-solver - A tool that helps people who struggle with vocabulary to enjoy the famous game of WORDLE

Overview

Wordle-Solver

Wordle-Solver helps people who struggle with vocabulary to enjoy the famous game of WORDLE. So that those who find WORDLE extremely hard, just like the developer of Wordle-Solver, will not be embarrassed for not knowing the hidden word of the day or being unable to show their tries.

Wordle-Solver takes an average of 3.7 tries to pinpoint the hidden word and solves 99.7% of five-letter words commonly used in English within the limit of 6 tries if they are chosen as hidden words.

Based on probability, Wordle-Solver helps WORDLE players find the best words for the next try. At the start of the game, this Solver recommends the use of the word “OPERA” on the first try. After making a try, players enter the word used and WORDLE’s response into Wordle-Solver. Then, Wordle-Solver will show a list of recommended words based on probability. In most cases, after 3 – 4 tries, Wordle-Solver is able to pinpoint the hidden word.

How to use

Download Wordle-Solver by cloning this repo.

git clone https://github.com/jason-chao/wordle-solver.git

Run the Wordle-Solver

cd wordle-solver
python3 wordle_solver.py

Open WORDLE

Enter a word into WORDLE. This Solver recommends the use of the word “OPERA” on the first try for the best search results. Sample WORDLE response to OPERA

Enter WORDLE’s response into Wordle-Solver

When WORDLE tells you the result of the first try, enter the word and WORDLE’s response using the symbols indicated below into Wordle-Solver. For the time being, Wordle-Solver is only available as a command-line (CLI) application. Since command-line applications cannot easily handle colours, players need to map the colours of WORDLE’s letter tiles to the following symbols.

Use _ for indicating a letter not in the hidden word in any spot Use ? for 🟨 indicating a letter in the hidden word but in the wrong spot Use + for 🟩 indicating a letter in the hidden word and in the correct spot

You should enter the result into Wordle-Solver in the format of word:symbols (the word, a colon : and the symbols). For example, for the screenshot above as an example, the input into Wordle-Solver should look like opera:_?+?_.

Please enter you last try as word:symbols
opera:_?+?_
Suggested words (from simple word list):
        press

Pick a suggested word shown by Wordle-Solver. Enter it into WORDLE. Repeat this step until Wordle-Solver finds the hidden word for you.

Tips

The WORDLE game only accepts on its own word list on every try. There is a possibility that WORDLE rejects all the words suggested by Wordle-Solver. In this case, enter the command !extended into Wordle-Solver to manually switch to the extended word list. Then, Wordle-Solver will begin to suggest words from the extended word list.

Wordle-Solver uses two lists of English words. One is called “simple” and the other one is called “extended”. The “extended” list has about 11 times more words than the simple list. As one can imagine, the extended list contains many rarely used English words. By default, Wordle-Solver searches for words on the “simple” list only. When no suggestions could be made from the “simple” list, Wordle-Solver will switch to the “extended” list to broaden the search. Except in the case mentioned case, the switch is usually automatic.

A more user-friendly interface

This command-line application is just a proof of concept. A web interface is under construction and will be released soon.

The search strategy

Wordle-Solver uses every bit of information gained from WORDLE’s responses to build the search criteria. The responses from the tries will help Wordle-Solver narrow down to a single, if not a few, possible English word(s). Usually, in the first two or three tires, the list of possible words may still be quite long. Wordle-Solver works out the probabilities of letters with unknown inclusion/exclusion status and suggests words with letters of higher frequencies. It does not matter whether or not these high-frequency letters end up in the hidden word. WORDLE’s responses to these high-frequency letters will help Wordle-Solver shrink the search space efficiently.

The developer of Wordle-Solver experimented with a number of other approaches. He found that the approach now implemented in the Wordle-Solver would produce the best results given the limited he has on this mini-project.

Credits

The “simple” word list is derived from MIT’s 10000-word list. The “extended” word list is derived from the alpha variant of dwyl’s “List of English Words”.

Owner
Jason Chao
Jason Chao
Bringing emacs' greatest feature to neovim - Tetris!

nvim-tetris Bringing emacs' greatest feature to neovim - Tetris! This plugin is written in Fennel using Olical's project Aniseed for creating the proj

129 Dec 26, 2022
CLI translator based on Google translate API

Translate-CLI CLI переводчик основанный на Google translate API как пользоваться ? запустить в консоли скомпилированный скрипт (exe - windows, bin - l

7 Aug 13, 2022
A command line tool made in Python for the popular rhythm game

osr!name A command line tool made in Python for the popular rhythm game "osu!" that changes the player name of a .osr file (replay file). Example: Not

2 Dec 28, 2021
🐍 Python CLI tool to get public information from a GitHub account

🐍 Gitter 🐍 Python CLI tool to get public information from a GitHub account 🤔 What's this? Gitter is a open-source project created to easily uses th

opp? 3 Oct 14, 2022
Custom 64 bit shellcode encoder that evades detection and removes some common badchars (\x00\x0a\x0d\x20)

x64-shellcode-encoder Custom 64 bit shellcode encoder that evades detection and removes some common badchars (\x00\x0a\x0d\x20) Usage Using a generato

Cole Houston 2 Jan 26, 2022
Textual: a TUI (Text User Interface) framework for Python inspired by modern web development

Textual Textual is a TUI (Text User Interface) framework for Python inspired by

17.1k Jan 04, 2023
Code for the Open Data Day 2022 publicbodies.org Nepal data scraping activities.

Open Data Day Publicbodies.org Nepal We've gathered on Saturday, 5th March 2022 with Open Knowledge Nepal in order to try and automate the collection

Augusto Herrmann 2 Mar 12, 2022
Install python modules from pypi from a previous date in history

pip-rewind is a command-line tool that can rewind pypi module versions (given as command-line arguments or read from a requirements.txt file) to a previous date in time.

Amar Paul 4 Jul 03, 2021
GDBIGtools: A command line tools for GDBIG varaints browser

GDBIGtools: A command line tools for GDBIG varaints browser Introduction Born in Guangzhou Cohort Study Genome Research Database is based on thousands

广州市出生队列基因组学研究(The genomics study of BIGCS) 7 Sep 14, 2022
A simple script to make the operation of AltServer-Linux more easier with cli

A simple script to make the operation of AltServer-Linux more easier with cli

powen 23 Dec 13, 2022
🌈 Generate color palettes based on Neovim colorschemes.

Iris Iris is a Neovim plugin that generates a normalized color palette based on your colorscheme. It is named for the goddess Iris of Greek mythology,

N. G. Scheurich 45 Jul 28, 2022
Simple command line tool to train and deploy your machine learning models with AWS SageMaker

metamaker Simple command line tool to train and deploy your machine learning models with AWS SageMaker Features metamaker enables you to: Build a dock

Yasuhiro Yamaguchi 5 Jan 09, 2022
Ros command - Unifying the ROS command line tools

Unifying the ROS command line tools One impairment to ROS 2 adoption is that all

37 Dec 15, 2022
Cli tool to browse and play anime

browse and watch anime (scrape from gogoanime) (wip) basically ani-cli but in python cuz python good demo dependencies mpv installation from pypi pip

sheep padowo 2 Apr 20, 2022
A simple CLI productivity tool to quickly display the syntax of a desired piece of code

Iforgor Iforgor is a customisable and easy to use command line tool to manage code samples. It's a good way to quickly get your hand on syntax you don

Solaris 21 Jan 03, 2023
Ssl-tool - A simple interactive CLI wrapper around openssl to make creation and installation of self-signed certs easy

What's this? A simple interactive CLI wrapper around openssl to make self-signin

Aniket Teredesai 9 May 17, 2022
A python library for parsing multiple types of config files, envvars & command line arguments that takes the headache out of setting app configurations.

parse_it A python library for parsing multiple types of config files, envvars and command line arguments that takes the headache out of setting app co

Naor Livne 97 Oct 22, 2022
Container images for portable development environments

Docker Dev Spin up a container to develop from anywhere! To run, just: docker run -ti aghost7/nodejs-dev:boron tmux new Alternatively, if on Linux: p

Jonathan Boudreau 163 Dec 22, 2022
A Python package for Misty II development

Misty2py Misty2py is a Python 3 package for Misty II development using Misty's REST API. Read the full documentation here! Installation Poetry To inst

Chris Scarred 1 Mar 07, 2022
pyNPS - A cli Linux and Windows Nopaystation client made with python 3 and wget

Currently, all the work is being done inside the refactoring branch. pyNPS - A cli Linux and Windows Nopaystation client made with python 3 and wget P

Everton Correia 45 Dec 11, 2022