Python 利用 sympy 实现输入命题公式输出合取/析取及主合取/析取范式
可以使用Python中的并行算法库`sympy`来简化命题公式为合取/析取范式和主合取/析取范式。下面是一个简单的示例代码: ```python from sympy import symbols from sympy.logic.boolalg import truth_table, Or, And, Not # 输入一个命题公式 formula = input("请输入一个命题公式:") # 创建命题变量 variables = sorted(set(formula)) variable_symbols = symbols(" ".join(variables)) # 解析命题公式为布尔表达式 expression = eval(formula) # 输出真值表 table = truth_table(expression, variable_symbols) print("真值表:") for row in table: print(row) # 转化为合取范式和析取范式 cnf = And(*[Or(*[variable_symbols[i] if row[i] else Not(variable_symbols[i]) for i in range(len(row))]) for row in table if row[-1]]) dnf = Or(*[And(*[variable_symbols[i] if row[i] else Not(variable_symbols[i]) for i in range(len(row))]) for row in table if not row[-1]]) # 输出合取范式和析取范式 print("合取范式:", cnf) print("析取范式:", dnf) # 转化为主合取范式和主析取范式 main_cnf = And(*[Or(*[variable_symbols[i] if row[i] else Not(variable_symbols[i]) for i in range(len(row))]) for row in table if not row[-1]]) main_dnf = Or(*[And(*[variable_symbols[i] if row[i] else Not(variable_symbols[i]) for i in range(len(row))]) for row in table if row[-1]]) # 输出主合取范式和主析取范式 print("主合取范式:", main_cnf) print("主析取范式:", main_dnf) ``` 这段代码通过输入一个命题公式,将其转化为合取/析取范式和主合取/析取范式,并输出结果。需要注意,输入的命题公式使用Python中的逻辑运算符表示,例如用`&`表示合取,`|`表示析取,`~`表示非。 ######[AI写代码神器 | 1902点数解答 | 2023-12-24 14:54:56]
- 全面解析合取/析取范式及主合取/析取范式:定义、示例全掌握!( | 1005点数解答 | 2023-12-24 14:53:57)179
- Python 利用 sympy 实现输入命题公式输出合取/析取及主合取/析取范式( | 1902点数解答 | 2023-12-24 14:54:56)235
- Python代码:输入命题公式输出合取/析取范式及主合取/析取范式(百度文心 | 616点数解答 | 2023-12-24 14:54:58)201
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)478
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)362
- 优化高中英语核心词汇短语HTML页面,这些建议不容错过!(DeepSeek | 217点数解答 | 2025-07-01 23:41:02)199
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)432
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)426
- 用Python轻松将PPT每页转为图片,附代码示例!(阿里通义 | 315点数解答 | 2024-04-23 10:01:04)1378
- Python 实现:在 Windows 系统将 PPT 每页轻松转为图片(百度文心 | 692点数解答 | 2024-10-30 18:08:44)383
- Python 实现:轻松将 PPT 每页转换为图片(DeepSeek | 462点数解答 | 2025-02-17 17:26:45)277
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)333