This release is a pre-release and may not be stable for production use.
ruin-wordle
Wordle is fun, so let's ruin it with computers.
Install with pip install pyrdle
or pip install git+https://github.com/cthoyt/ruin-wordle.git to get the latest
version.
How to Play
Run the wordle command in the shell. Use --help to see how to set the
game to have a different number of letters, different number of guesss,
or to use a different language.
$ wordle
Metrics
This repository assesses two metrics about each algorithm:
- Success: how many of the words of the given length and number of guesses can it successfully solve?
- Speed: what's the average number of guesses needed over all successful words?
Later, this repository will run multiple trials in order to assign confidence intervals for success and quality for randomized algorithms.
Strategies
This repository is a playground for implementing new solve strategies. Feel free
to send a PR with your own (just subclass the Player class)!
Terminology:
- Perfect guess: a guess that uses all previous information available, including knowledge about correct positions, unused letters, and used letters
Three word initial guess
This strategy involves deterministically guessing three words that cover a wide variety of vowels and consonants. For example, (lunch, metro, daisy) covers all five vowels and 10 different consonants.
It's pretty likely that with these choices, you will be able to deterministically solve for the word after one more perfect guess. It turns out that with this example, you can solve 96.9% of the time with an average of 4.27 guesses. That's pretty surprising, but also assumes you have computer-like recall of words.
Warnings
- This code uses https://pypi.org/project/english-words/. This has some weird stuff missing from it.
See also
Metadata
Release files for pyrdle 0.0.1.dev0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyrdle-0.0.1.dev0.tar.gz | 11.2 kB | Without provenance | Details for pyrdle-0.0.1.dev0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pyrdle-0.0.1.dev0-py3-none-any.whl | Python 3 | none | any | Details for pyrdle-0.0.1.dev0-py3-none-any.whl |
Total release size: 22.2 kB
Release files / pyrdle-0.0.1.dev0.tar.gz
| Download URL | pyrdle-0.0.1.dev0.tar.gz |
|---|---|
| Size | 11.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e96e42325f28ad044f5c3442e2f1447558b6d657e6b089b01dd5ebad184f4505
|
|
BLAKE2b-256 checksum How to use checksums |
ed6c5ca059805434008c6fcd1a62b26ac96d26331839f0fe3a3758474066d1eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
|
Release files / pyrdle-0.0.1.dev0-py3-none-any.whl
| Download URL | pyrdle-0.0.1.dev0-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dc6b6de38ec7cd48d4f99dabed243db3f2b179e9e22ef90d7e3495dc1dd82110
|
|
BLAKE2b-256 checksum How to use checksums |
651fc1700209c6c053a94819cdd7db96f60f822e1070d4086ce340b48dd101e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
|
Security for pyrdle 0.0.1.dev0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.