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
Rich is a Python library for rich text and beautiful formatting in the terminal.

The Rich API makes it easy to add color and style to terminal output. Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, tracebacks, and more — out of the bo

Will McGugan 41.4k Jan 03, 2023
A terminal utility to sort image files based on their characteristics.

About A terminal utility to sort image files based on their characteristics. Motivation This program was developed after I've realized that I had too

José Ferreira 1 Dec 10, 2022
A CLI password generator

passgen - A CLI password generator Usage python3 main.py arguments Arguments Argument Short Description --length -l The length of the password to ge

1 Nov 13, 2021
Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.

Interactive Redis: A Cli for Redis with AutoCompletion and Syntax Highlighting. IRedis is a terminal client for redis with auto-completion and syntax

2.2k Dec 29, 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
Chat In Terminal - Chat-App in python

Chat In Terminal Hello all. 😉 Sockets and servers are vey important for connection and importantly chatting with others. 😂 😁 I have thought of maki

Shreejan Dolai 5 Nov 17, 2022
Command-line tool for downloading and extending the RedCaps dataset.

Command-line tool for downloading and extending the RedCaps dataset.

RedCaps dataset 33 Dec 14, 2022
A project designed to make taking notes easier than ever - by doing it all on command line

A project designed to make taking notes easier than ever - by doing it all on command line! Yes, all of your files are easily accessible through one command interface, and can be written to at any ti

1 Dec 10, 2021
Command line tool for monitoring changes of File entities scoped in a Synapse File View

Synapse Monitoring Provides tools for monitoring and keeping track of File entity changes in Synapse with the use of File Views. Learn more about File

Sage Bionetworks 3 May 28, 2022
Ntfy - 🖥️📱🔔 A utility for sending notifications, on demand and when commands finish.

About ntfy ntfy brings notification to your shell. It can automatically provide desktop notifications when long running commands finish or it can send

Daniel Schep 4.5k Jan 01, 2023
A CLI Password Manager made using Python and Postgresql database.

ManageMyPasswords (CLI Edition) A CLI Password Manager made using Python and Postgresql database. Quick Start Guide First Clone The Project git clone

Imira Randeniya 1 Sep 11, 2022
Lexeme - CLI to play a word-guessing game like Wordle

What is this? Python program to play a word-guessing game like Wordle, but… More addictive because you can play it over and over and over, not just on

Dan Lenski 6 Oct 26, 2022
This tool is a free and unlimited python CLI for google translate. based on google_trans_new.

GoTransPy A free and unlimited python CLI for google translate based on google_trans_new. It's very easy to use and solve the problem that the old api

Youssef Mohamed 2 Jan 10, 2022
Albert launcher extension for converting units of length, mass, speed, temperature, time, current, luminosity, printing measurements, molecular substance, and more

unit-converter-albert-ext Extension for converting units of length, mass, speed, temperature, time, current, luminosity, printing measurements, molecu

Jonah Lawrence 2 Jan 13, 2022
flora-dev-cli (fd-cli) is command line interface software to interact with flora blockchain.

Install git clone https://github.com/Flora-Network/fd-cli.git cd fd-cli python3 -m venv venv source venv/bin/activate pip install -e . --extra-index-u

14 Sep 11, 2022
inklayers is a command line program that exports layers from an SVG file.

inklayers is a command line program that exports layers from an SVG file. It can be used to create slide shows by editing a single SVG file.

11 Mar 29, 2022
Kattis shell for getting examples, testing and submitting.

Kattis shell for getting examples, testing and submitting.

Simon Green Kristensen 15 Sep 30, 2022
Interactive Python interpreter for executing commands within Node.js

Python Interactive Interactive Python interpreter for executing commands within Node.js. This module provides a means of using the Python interactive

Louis Lefevre 2 Sep 21, 2022
A CLI for advanced management of your notes with simple commands

PyNoteManager This is a CLI for advanced management of your notes with simple co

3 Dec 30, 2021
Python API and CLI for the ikea IDÅSEN desk.

idasen This is a heavily modified fork of rhyst/idasen-controller. The IDÅSEN is an electric sitting standing desk with a Linak controller sold by ike

Alex 79 Dec 14, 2022