首页 > 解决方案 > Python 编程:真值表

问题描述

我们必须在 Python 中为 p^q、pvq、p->q 和 p<->q 格式化一个真值表。我不知道如何格式化 p->q 或 p<->q。它不断给我错误,说它是无效的语法。我如何为“if p then q”和“if only p then only q”包含一个 if 语句。

def getSym(x): 
if x: 
return 'T' 
else: 
return 'F' 

values=[True, False] 
for p in values: 
for q in values: 
print(getSym(p), getSym(q), getSym(p and q)) 
print(getSym(p), getSym(q), getSym(p or q))

标签: python

解决方案


布尔蕴涵P => Q在逻辑上等价于NOT P OR Q,并且布尔等价<=>可以使用等式运算符 表示==

print(getSym(p), getSym(q), getSym(p and q))    #  AND
print(getSym(p), getSym(q), getSym(p or q))     #  OR
print(getSym(p), getSym(q), getSym(not p or q)) #  =>
print(getSym(p), getSym(q), getSym(p == q))     #  <=>

推荐阅读