为 Python 中的任何表达式创建真值表

新手上路,请多包涵

我正在尝试创建一个程序,该程序在运行时会询问布尔表达式、变量,然后为输入的任何内容创建一个真值表。我需要使用一个类,这是我目前所拥有的。我不知道从这里去哪里。

 from itertools import product

class Boolean(object):

       def __init__(self, statement, vars):
           self.exp = statement
           self.vars = vars

       def __call__(self, statement, vars):

def main():
   expression = raw_input('Give an expression:')
   vars = raw_input('Give names of variables:')
   variables = vars.split(' ')
   b = Boolean(expression, variables)

if __name__ == "__main__":
   main()

原文由 say786 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 317
1 个回答

我有一个图书馆,可以完全满足您的需求!查看 github 存储库 pypi 上找到它。

自述文件描述了一切是如何工作的,但这里有一个简单的例子:

 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          |
+---+---+---+---+-----------+--------------+---------------------+

希望这可以帮助!

原文由 penchant 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题