给定一个逻辑表达式,生成真值表对于每一个逻辑表达式,输出其对应的真值表即可。输出的最右边增加了一列,包含了表达式和它的各个值
时间: 2024-03-23 11:38:02 浏览: 102
好的,可以使用 Python 编程语言来实现这个功能。以下是示例代码:
```python
import itertools
def generate_truth_table(expression):
variables = sorted(set(expression) - set(['(', ')', '!', '&', '|']))
num_variables = len(variables)
truth_table = []
for values in itertools.product([False, True], repeat=num_variables):
variables_map = dict(zip(variables, values))
result = eval(expression, variables_map)
row = list(values) + [result]
truth_table.append(row)
return truth_table
expression = input("请输入一个逻辑表达式:")
truth_table = generate_truth_table(expression)
for row in truth_table:
print(row)
```
这段代码首先从表达式中提取出所有变量的名称,然后使用 itertools 库中的 product 函数生成所有可能的变量取值组合。接下来,使用 eval 函数计算每个组合下的表达式结果,并将变量取值和表达式结果组成一行,存储到真值表中。最后,输出真值表中的所有行。
注意,这段代码并没有对输入的表达式进行任何安全检查,所以请勿输入恶意代码。
阅读全文