Skip to main content

Python tools for doing stuff with letters.

Project description

Letter Tools

Downloads

Intro

This is a collection of tools for doing stuff with letters.

With a randint for letters and a range for letters and more.

Installing

To install use this command:

$ pip install letter-tools

Examples

First an example for randomly picking a letter.

>>> from letter_tools import rand
>>> rand("a", "h")
c
>>> rand("a", "h")
g
>>> rand(1, 10)
5
>>> rand(1, 10)
7

Next an example for ranges.

>>> from letter_tools import range
>>> for i in range("i"):
...     print(i)
...
a
b
c
d
e
f
g
h
i

>>> for i in range("d", "g"):
...     print(i)
...
d
e
f
g

>>> for i in range(1, 5):
...     print(i)
...
1
2
3
4
5

#Using step

>>> for i in range(1, 5, 3):
...     print(i)
...
1
4

>>> for i in range("d", "g", 3):
...     print(i)
...
d
g

Now an example for word score.

# Find the score of a word a=1, b=2 and add up the numbers for all the letters

>>> from letter_tools import word_score
>>> print(word_score("hi")) 
17
>>> print(word_score("letter"))       
80
>>> print(word_score("hi", opt="")) 
37  
>>> print(word_score("letter", opt="")) 
82  

Here we will use the scrabble score, it does almost the same thing as word score but it uses scrabble scoring rules. a: 1, b: 3, c: 3, d: 2, e: 1, f: 4, g: 2, h: 4, i: 1, j: 8, k: 5, l: 1, m: 3, n: 1, o: 1, p: 3, q: 10, r: 1, s: 1, t: 1, u: 1, v: 4, w: 4, x: 8, y: 4, z: 10

>>> from letter_tools import scrabble_score
>>> print(scrabble_score("hi")) 
5   
>>> print(scrabble_score("letter")) 
6   

Now for the derandomize and randomize functions.

>>> # For this we will use a word 'welcome' and randomize it.
>>> from letter_tools import randomize
>>> randomize("welcome") 
'mlcoeew'
>>> # Now we will derandomize 'mlcoeew' 
>>> from letter_tools import derandomize
>>> derandomize("mlcoeew") 
['welcome']

Now for custom score.

>>> from letter_tools import custom_score
>>> custom_score('letter', {'l': 13, 'e': 7, 't': 16, 'r': 1}) 
60

Usage

Word score could help you with making a game to find certain scored words. Here is an example for 100 scored words. This will not eliminate invalid words.

from letter_tools import word_score

while True:
    word = input("Could you give me some words that add up to 100 exactly?\na=1, b=2 and so on\n")
    if word_score(word) == 100:
        print(f"{word} is a 100 letter word correct!!!")
        break
    else:
        print(f"{word} is a {word_score(word)} not a 100 letter word wrong.")

We could also make a script to find 100 scored words. For this we will use the requests library and using Dwyl's english word set I generated a json you could use for this.

This is the code:

from letter_tools import word_score
import requests

words = requests.get("https://raw.githubusercontent.com/hostedposted/letter-tools/master/words.json").json()
for i in words:
    try:
        if word_score(i) == 100:
            print(i)
    except KeyError:
        pass

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

letter-tools-0.2.4.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

letter_tools-0.2.4-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file letter-tools-0.2.4.tar.gz.

File metadata

  • Download URL: letter-tools-0.2.4.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for letter-tools-0.2.4.tar.gz
Algorithm Hash digest
SHA256 f4bf2d2d3d7ff368eb2111198251df5a5b899adf0011d6d0a31190c693ac59c7
MD5 7e407aa2a1db6fcb0d8fd82f1febcd42
BLAKE2b-256 a990378b26d80a7641b9f996b97268cb84948504b0f8344cbcddab5e3606355a

See more details on using hashes here.

File details

Details for the file letter_tools-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: letter_tools-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for letter_tools-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 66b27bbdd2765c48060da09120a22f0ad4d6a8138c4fd87507e3c40b755d8410
MD5 300e9be3ca4e812ff7fa204ca5473fa8
BLAKE2b-256 9b30234fb26ef978baadc0d2703b6b507361d9e6696bd084f896548bc2a32252

See more details on using hashes here.

Supported by

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