编程题目:打印输出逻辑运算表 编程内容及要求: 编写程序,打印输出9种基本逻辑运算符(与、或、非、条件、双条件、异或、与非、或非、条件否定)的运算表到字符文件logic.txt中。 编程语言可选择C、C++、Java或Python。 逻辑运算表输出格式示例: ------------------ P Q 条件否定 ------------------ T T F T F T F T F F F F ------------------ 编程目的:学会用程序语言提供的基本逻辑运算功能实现所有9种逻辑运算。
时间: 2023-05-30 12:06:14 浏览: 148
以下是Python代码实现:
# 打开文件
f = open('logic.txt', 'w')
# 定义逻辑运算函数
def logic_and(p, q):
return p and q
def logic_or(p, q):
return p or q
def logic_not(p):
return not p
def logic_cond(p, q):
return not p or q
def logic_bicond(p, q):
return p == q
def logic_xor(p, q):
return p != q
def logic_nand(p, q):
return not(p and q)
def logic_nor(p, q):
return not(p or q)
def logic_cond_not(p, q):
return p and not q
# 输出表头
f.write('------------------\n')
f.write(' P Q AND\n')
f.write('------------------\n')
# 输出AND表
for p in [True, False]:
for q in [True, False]:
result = logic_and(p, q)
f.write(f' {str(p)[0]} {str(q)[0]} {str(result)[0]}\n')
# 输出OR表
f.write('------------------\n')
f.write(' P Q OR\n')
f.write('------------------\n')
for p in [True, False]:
for q in [True, False]:
result = logic_or(p, q)
f.write(f' {str(p)[0]} {str(q)[0]} {str(result)[0]}\n')
# 输出NOT表
f.write('------------------\n')
f.write(' P NOT\n')
f.write('------------------\n')
for p in [True, False]:
result = logic_not(p)
f.write(f' {str(p)[0]} {str(result)[0]}\n')
# 输出CONDITIONAL表
f.write('------------------\n')
f.write(' P Q CONDITIONAL\n')
f.write('------------------\n')
for p in [True, False]:
for q in [True, False]:
result = logic_cond(p, q)
f.write(f' {str(p)[0]} {str(q)[0]} {str(result)[0]}\n')
# 输出BICONDITIONAL表
f.write('------------------\n')
f.write(' P Q BICONDITIONAL\n')
f.write('------------------\n')
for p in [True, False]:
for q in [True, False]:
result = logic_bicond(p, q)
f.write(f' {str(p)[0]} {str(q)[0]} {str(result)[0]}\n')
# 输出XOR表
f.write('------------------\n')
f.write(' P Q XOR\n')
f.write('------------------\n')
for p in [True, False]:
for q in [True, False]:
result = logic_xor(p, q)
f.write(f' {str(p)[0]} {str(q)[0]} {str(result)[0]}\n')
# 输出NAND表
f.write('------------------\n')
f.write(' P Q NAND\n')
f.write('------------------\n')
for p in [True, False]:
for q in [True, False]:
result = logic_nand(p, q)
f.write(f' {str(p)[0]} {str(q)[0]} {str(result)[0]}\n')
# 输出NOR表
f.write('------------------\n')
f.write(' P Q NOR\n')
f.write('------------------\n')
for p in [True, False]:
for q in [True, False]:
result = logic_nor(p, q)
f.write(f' {str(p)[0]} {str(q)[0]} {str(result)[0]}\n')
# 输出CONDITIONAL NOT表
f.write('------------------\n')
f.write(' P Q CONDITIONAL NOT\n')
f.write('------------------\n')
for p in [True, False]:
for q in [True, False]:
result = logic_cond_not(p, q)
f.write(f' {str(p)[0]} {str(q)[0]} {str(result)[0]}\n')
# 关闭文件
f.close()
阅读全文