commandline version of wordle game and my auto solver.

Overview

Wordle Machine (and Wordle Game) (in commandline)

My implementation of the Wordle game (inspired by https://www.powerlanguage.co.uk/wordle/) and my interactive solving machine for the Wordle game. The strategy is originated from this blog post Best Wordle Strategy — Explore or Exploit and I'm still working on some optimization over that.

How to run?

git clone https://github.com/KevinXuxuxu/wordle_machine.git
cd wordle_machine
  • Wordle game:
# need python 3
# ! for correct letter at correct position
# ? for correct letter at wrong position
# _ for wrong letter
$ python3.9 wordle.py        
Welcome to Wordle!
Guess 1: aeros    # <- your input
Result:  _!__!
Guess 2: unlit    # <- your input
Result:  ____?
Guess 3: techs    # <- your input
Result:  ?!_?!
Guess 4: heets    # <- your input
Guess must be a proper word with 5 letters!
Guess 4: hetts    # <- your input
Guess must be a proper word with 5 letters!
Guess 4: herts    # <- your input
Guess must be a proper word with 5 letters!
Guess 4: hetes    # <- your input
Result:  !!!!!
Congrats!
  • wordle machine (interactive mode)
# need python 3
# next guess is given, input the response in same format
$ python3.9 wordle_machine.py
Interactive mode:
Guess 1: aeros
Result:  _?___    # <- your input
Number of possible words: 568
Guess 2: unlit
Result:  _?_?_    # <- your input
Number of possible words: 52
Guess 3: binge
Result:  _!!_!    # <- your input
Number of possible words: 7
Guess 4: jinne
Result:  _!!_!    # <- your input
Number of possible words: 6
Guess 5: mince
Result:  _!!!!    # <- your input
Number of possible words: 2
Guess 6: wince
Result:  !!!!!    # <- your input
Congrats!

Benchmark

Success rate around 86% for now.

$ python3.9 benchmark.py
max 6 guesses, 10000 plays
Success stats:   {1: 0, 2: 1, 3: 1674, 4: 3382, 5: 2332, 6: 1228}
Success distro:  {1: 0.0, 2: 0.0001, 3: 0.1674, 4: 0.3382, 5: 0.2332, 6: 0.1228}
Failed count and rate:  1383 0.1383

TODO

  • Better word choosing strategy (now just the first word in the possible list)
  • Better cmd option for alternate strategy choice
  • NFT?
  • Web 3.0?
Owner
Kevin Xu
General/Data Infra
Kevin Xu
A simple cli tool to commit Conventional Commits

convmoji A simple cli tool to commit Conventional Commits. Requirements Install pip install convmoji convmoji --help Examples A conventianal commit co

3 Jul 04, 2022
A python Ethereum utilities command-line tool.

peth-cli A python Ethereum utilities command-line tool. After wasting the all day trying to install seth and failed, I took another day to write this.

Moon 55 Nov 15, 2022
CmdTube is a Python CLI library for searching, downloading, and watching YouTube tutorials

CmdTube is a Python CLI library for searching, downloading, and watching YouTube tutorials. This library was made with programmers in mind and it's dedicated to every programmer who watches YouTube v

Samuel Ayomide Ogunleke 2 Aug 22, 2022
⌨ Toward a more useful keyboard

Toward a more useful keyboard Steve Losh's Modern Space Cadet is an inspiration. It opened my eyes to the fact that there's a more useful keyboard hid

Jason Rudolph 1.7k Jan 01, 2023
Another (unofficial) Qt CLI Installer on multi-platforms

Another Qt installer(aqt) Release: Documentation: Test status: and Coverage: This is a utility alternative to the official graphical Qt installer, for

Hiroshi Miura 528 Jan 02, 2023
Limit your docker image size with a simple CLI command. Perfect to be used inside your CI process.

docker-image-size-limit Limit your docker image size with a simple CLI command. Perfect to be used inside your CI process. Read the announcing post. I

wemake.services 102 Dec 14, 2022
Centauro - a command line tool with some network management functionality

Centauro Ferramenta de rede O Centauro é uma ferramenta de linha de comando com

1 Jan 01, 2022
MsfMania is a command line tool developed in Python that is designed to bypass antivirus software on Windows and Linux/Mac in the future

MsfMania MsfMania is a command line tool developed in Python that is designed to bypass antivirus software on Windows and Linux/Mac in the future. Sum

446 Dec 21, 2022
xonsh is a Python-powered, cross-platform, Unix-gazing shell

xonsh is a Python-powered, cross-platform, Unix-gazing shell language and command prompt.

xonsh 6.7k Dec 31, 2022
bsp_tool provides a Command Line Interface for analysing .bsp files

bsp_tool Python library for analysing .bsp files bsp_tool provides a Command Line Interface for analysing .bsp files Current development is focused on

Jared Ketterer 64 Dec 28, 2022
a-shell: A terminal for iOS, with multiple windows

a-shell: A terminal for iOS, with multiple windows

Nicolas Holzschuch 1.7k Jan 02, 2023
Shellmon is a tool used to create and control a webshell remotely, created using the Python3

An Simple PHP Webshell Manager Description Shellmon is a tool used to create and control a webshell remotely, created using the Python3 programming la

22XploiterCrew 12 Dec 30, 2022
command line interface to manage VALORANT skins

A PROPER RELEASE IS COMING SOON, IF YOU KNOW HOW TO USE PYTHON YOU CAN USE IT NOW! valorant skin manager command line interface simple command line in

colinh 131 Dec 25, 2022
A CLI tool that scans through a directory and organizes all loose files into folders by file type.

Organizer CLI Organizer CLI is a python command line tool that goes through a given directory and organizes all un-folder bound files into folders by

Mulaza Jacinto 6 Dec 14, 2022
Fun project to generate The Matrix Code effect on you terminal.

Fun project to generate The Matrix Code effect on you terminal.

Henrique Bastos 11 Jul 13, 2022
Command line, configuration and persistence utilities

Zensols Utilities Command line, configuration and persistence utilities generally used for any more than basic application. This general purpose libra

Paul Landes 2 Nov 17, 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
Command-line interface to PyPI Stats API to get download stats for Python packages

pypistats Python 3.6+ interface to PyPI Stats API to get aggregate download statistics on Python packages on the Python Package Index without having t

Hugo van Kemenade 140 Jan 03, 2023
Access hacksec.in from your command-line

Access hacksec.in from your command-line

hacksec.in 3 Oct 26, 2022
A Hikari command handler for people who love ducks.

A Hikari command handler for people who love ducks.

Jeremiah 2 Oct 09, 2022