Skip to main content

Python-based package that allows you to solve any N x M Boggle board.

Project description

logo

Pyggle

made-with-python GitHub license

GitHub: https://github.com/andrearcaina/pyggle

PyPi: https://pypi.org/project/pyggle/

Find all possible words given a board and words, with a visual representation of the algorithm! Check lib/docs for package details. For an example on how to use pyggle, check lib/examples/example.py!

Installation

pip install pyggle

Usage

Input is case sensitive (for the board).

The input would consist of: an N x M board as a string with rows separated by spaces. Alternatively, you can pass in a list of lists where each element is the character on the board.

If words is not passed as an argument, it will utilize a text file that consists of 479k words.

If official is not given as a boolean argument, find all words regardless of length, and the letter 'Q' is not represented as 'Qu'. If official is passed as a boolean argument, then the algorithm follows the official rules of boggle. Pyggle will solve and:

  • find all words that have a length greater than 3.
  • The letter 'Q' is now represented as 'Qu'.
from pyggle import Boggle

board = "ea st"

boggle = Boggle(board)

boggle.print_result()

For more functions from pyggle, check:

Output

I don't know how "ae" or "aes" or "ast" is a word, but w/e :P

a: [(0, 1)]
ae: [(0, 1), (0, 0)]
aes: [(0, 1), (0, 0), (1, 0)]
aet: [(0, 1), (0, 0), (1, 1)]
as: [(0, 1), (1, 0)]
ase: [(0, 1), (1, 0), (0, 0)]
ast: [(0, 1), (1, 0), (1, 1)]
at: [(0, 1), (1, 1)]
ate: [(0, 1), (1, 1), (0, 0)]
ates: [(0, 1), (1, 1), (0, 0), (1, 0)]
e: [(0, 0)]
ea: [(0, 0), (0, 1)]
east: [(0, 0), (0, 1), (1, 0), (1, 1)]
eat: [(0, 0), (0, 1), (1, 1)]
eats: [(0, 0), (0, 1), (1, 1), (1, 0)]
es: [(0, 0), (1, 0)]
est: [(0, 0), (1, 0), (1, 1)]
et: [(0, 0), (1, 1)]
eta: [(0, 0), (1, 1), (0, 1)]
etas: [(0, 0), (1, 1), (0, 1), (1, 0)]
s: [(1, 0)]
sa: [(1, 0), (0, 1)]
sae: [(1, 0), (0, 1), (0, 0)]
sat: [(1, 0), (0, 1), (1, 1)]
sate: [(1, 0), (0, 1), (1, 1), (0, 0)]
se: [(1, 0), (0, 0)]
sea: [(1, 0), (0, 0), (0, 1)]
seat: [(1, 0), (0, 0), (0, 1), (1, 1)]
set: [(1, 0), (0, 0), (1, 1)]
seta: [(1, 0), (0, 0), (1, 1), (0, 1)]
st: [(1, 0), (1, 1)]
sta: [(1, 0), (1, 1), (0, 1)]
t: [(1, 1)]
ta: [(1, 1), (0, 1)]
tae: [(1, 1), (0, 1), (0, 0)]
tas: [(1, 1), (0, 1), (1, 0)]
te: [(1, 1), (0, 0)]
tea: [(1, 1), (0, 0), (0, 1)]
teas: [(1, 1), (0, 0), (0, 1), (1, 0)]
ts: [(1, 1), (1, 0)]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyggle-1.2.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyggle-1.2.0-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file pyggle-1.2.0.tar.gz.

File metadata

  • Download URL: pyggle-1.2.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for pyggle-1.2.0.tar.gz
Algorithm Hash digest
SHA256 9fbe9c77ce185c7dc29e50d04bdaac8b7fba765f69e6cdb7b426274dac4d0841
MD5 730edef46d0f6a686f92c91cfb313af9
BLAKE2b-256 89b2b988e3c69eeeeb632ecbf6b0d0e70f645bc9dc07dde844d32c9bf6d90dc6

See more details on using hashes here.

File details

Details for the file pyggle-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: pyggle-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for pyggle-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d905c249f9000382e2870d39e2e6619192464f558b5f4172b43a5713c00cadbc
MD5 aba4b982bbaf232c843664032e917725
BLAKE2b-256 74ade3d3038aeeda52b441e3960d4974227f88d34ae0045947e5db898179a0fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page