Python tools for doing stuff with letters.
Project description
Letter Tools
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for letter_tools-0.1.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaff59ab7d1236e9bb98d4e357973ffc5e627365fe2150089581658c76dab95d |
|
MD5 | b595d3697b46eaf5f6dff2cc81df9101 |
|
BLAKE2b-256 | e74203af1b4be454890aa9bdf1bc1c6c3f68d3f615289f76612728d199d05981 |