python - 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))
解决方案
布尔蕴涵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)) # <=>
推荐阅读
- python - 从另一个笔记本加载多个 ipy 笔记本
- reactjs - 在 React 中显示项目列表
- flutter - 如何在 Flutter 中创建带有圆角的持久底页?
- arrays - 有没有办法从 MongoDB 的查询中返回特定的嵌套字段?
- selenium - org.openqa.selenium.UnhandledAlertException:关闭的用户提示对话框测试在控制台上运行,但不在 Jenkins 中
- ios - 关闭(杀死)应用程序 ExternalAccessory iOS 时,我的蓝牙设备正在断开连接
- reactjs - 尝试将 setState 设置为对象字典中的单个对象时,TouchableOpacity onPress 不起作用
- jquery - 当正文中有colspan时如何隐藏第一列
- javascript - 优惠券验证
- c# - 如何在 C# 中通过其程序集名称/默认命名空间获取程序集