auth generate truth tables
Project description
truths is a simple tool that allows you to quickly generate a truth table from python variable names and phrases
install
pip install truths or git clone and pip install -e to play with the code
use is simple:
start by creating some base variables
import truths
print truths.Truths(['a', 'b', 'x'])
+---+---+---+
| a | b | x |
+---+---+---+
| 0 | 0 | 0 |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 0 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
| 1 | 1 | 1 |
+---+---+---+
add some phrases
now let’s use those base variables and pass in some phrases!
from truths import Truths
print Truths(['a', 'b', 'x', 'd'], ['(a and b)', 'a and b or x', 'a and (b or x) or d'])
+---+---+---+---+-----------+--------------+---------------------+
| a | b | x | d | (a and b) | a and b or x | a and (b or x) or d |
+---+---+---+---+-----------+--------------+---------------------+
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 | 0 | 1 | 0 |
| 0 | 0 | 1 | 1 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 | 0 | 1 | 0 |
| 0 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 | 0 | 1 | 1 |
| 1 | 0 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |
+---+---+---+---+-----------+--------------+---------------------+
prefer boolean words?
neat eh? if you prefer True/False over the numbers pass ints=False:
from truths import Truths
print Truths(['a', 'b', 'x', 'd'], ['(a and b)', 'a and b or x', 'a and (b or x) or d'], ints=False)
+-------+-------+-------+-------+-----------+--------------+---------------------+
| a | b | x | d | (a and b) | a and b or x | a and (b or x) or d |
+-------+-------+-------+-------+-----------+--------------+---------------------+
| False | False | False | False | False | False | False |
| False | False | False | True | False | False | True |
| False | False | True | False | False | True | False |
| False | False | True | True | False | True | True |
| False | True | False | False | False | False | False |
| False | True | False | True | False | False | True |
| False | True | True | False | False | True | False |
| False | True | True | True | False | True | True |
| True | False | False | False | False | False | False |
| True | False | False | True | False | False | True |
| True | False | True | False | False | True | True |
| True | False | True | True | False | True | True |
| True | True | False | False | True | True | True |
| True | True | False | True | True | True | True |
| True | True | True | False | True | True | True |
| True | True | True | True | True | True | True |
+-------+-------+-------+-------+-----------+--------------+---------------------+
how it works
check out the code! behind the scenes it’s putting the bases in an object context and generating a grid of values for them. then, the phrases are evaluated in the object’s context against each row in that grid of values
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
truths-1.0.tar.gz
(7.3 kB
view hashes)