Python 如何计算真值表以显示诸如';p和q';?
我需要用Python编写一些代码,为以下语句生成一个真值表:p和q,p或q,如果p那么q,p如果且仅当qPython 如何计算真值表以显示诸如';p和q';?,python,Python,我需要用Python编写一些代码,为以下语句生成一个真值表:p和q,p或q,如果p那么q,p如果且仅当q (T T T) (T F F) (F T F) (F F F) 下面是我已经写过的一些代码,但我不确定从这里可以走到哪里 def getSym(x): if x: return 'T' else: return 'F' values = [True, False] for p in values: for q in values:
(T T T)
(T F F)
(F T F)
(F F F)
下面是我已经写过的一些代码,但我不确定从这里可以走到哪里
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))
(T T T)
(T F F)
(F T F)
(F F F)
我得到:
(T T T)
(T F F)
(F T F)
(F F F)
但是我不知道如何得到最后一个输出,应该是(tftf)你应该应用你在数学逻辑课上学到的东西,在你已经实现的东西旁边,我为
'p或q'
添加了真值表:
(T T T)
(T F F)
(F T F)
(F F F)
def getSym(x):
if x:
return 'T'
else:
return 'F'
values = [True, False]
print('and')
for p in values:
for q in values:
print(getSym(p), getSym(q), getSym(p and q))
print('or')
for p in values:
for q in values:
print(getSym(p), getSym(q), getSym(p or q))
对于'if p then q'
和'p if且仅当q'
,使用以下等效值:
(T T T)
(T F F)
(F T F)
(F F F)
- 如果p,那么q是
而不是p或q
- p当且仅当q等价于
,那么应用前面的等价,您将能够实现它如果p那么q,如果q那么p
(T T T)
(T F F)
(F T F)
(F F F)
getSym(不是p或q)
getSym((非p或q)和(非q或p))
getSym
功能,如下所示:
(T T T)
(T F F)
(F T F)
(F F F)
def getSym(x):
return 'T' if x else 'F'
你走的方向是对的。您已经为和打印了真相表
(T T T)
(T F F)
(F T F)
(F F F)
在
(T T T)
(T F F)
(F T F)
(F F F)
最后一列是和的真值表
(T T T)
(T F F)
(F T F)
(F F F)
类似地,您可以打印其他逻辑操作的真值表。只需相应地更改打印报表
(T T T)
(T F F)
(F T F)
(F F F)
例如,或者,它应该是
(T T T)
(T F F)
(F T F)
(F F F)
print(getSym(p), getSym(q), getSym(p or q))
(tftf)
应该是什么?只有2个输入和1个输出,你怎么能有4个值?你的结果就是完整的真值表。@eatprawns77,我为你的问题添加了一个答案。