Python运算符教程之逻辑门详解

 更新时间:2022年09月18日 10:21:50   作者:海拥  
逻辑门是任何数字电路的基本构建块。它需要一两个输入并根据这些输入产生输出。本文将通过示例和大家讲讲Python中的7个基本逻辑门,感兴趣的可以了解一下

逻辑门是任何数字电路的基本构建块。它需要一两个输入并根据这些输入产生输出。输出可能为高 (1) 或低 (0)。逻辑门使用二极管或晶体管实现。它也可以使用真空管、光学元件、分子等电磁元件构成。在计算机中,大多数电子电路都是由逻辑门组成的。逻辑门用于执行计算、数据存储或展示面向对象编程(尤其是继承的力量)的电路。 

定义了七个基本逻辑门:与门、或门、非门、与非门、或非门、异或门、异或门。 

1. 与门 

如果两个输入都为 1,与门的输出为 1,否则为 0。

# 说明与门工作的 Python3 程序

def AND (a, b):

	if a == 1 and b == 1:
		return True
	else:
		return False

# 驱动程序代码
if __name__=='__main__':
	print(AND(1, 1))

	print("+---------------+----------------+")
	print(" | AND Truth Table | Result |")
	print(" A = False, B = False | A AND B =",AND(False,False)," | ")
	print(" A = False, B = True | A AND B =",AND(False,True)," | ")
	print(" A = True, B = False | A AND B =",AND(True,False)," | ")
	print(" A = True, B = True | A AND B =",AND(True,True)," | ")

输出: 

True
+---------------+----------------
 | AND Truth Table |    Result |
 A = False, B = False | A AND B = False  | 
 A = False, B = True  | A AND B = False  | 
 A = True, B = False  | A AND B = False  | 
 A = True, B = True   | A AND B = True   | 

2. 与非门 

如果两个输入都是 1,与非门(取反)输出 0,否则输出 1。

# 说明与非门工作的Python3程序

def NAND (a, b):
	if a == 1 and b == 1:
		return False
	else:
		return True

# 驱动程序代码
if __name__=='__main__':
	print(NAND(1, 0))

	print("+---------------+----------------+")
	print(" | NAND Truth Table | Result |")
	print(" A = False, B = False | A AND B =",NAND(False,False)," | ")
	print(" A = False, B = True | A AND B =",NAND(False,True)," | ")
	print(" A = True, B = False | A AND B =",NAND(True,False)," | ")
	print(" A = True, B = True | A AND B =",NAND(True,True)," | ")

输出: 

True
+---------------+----------------
 | NAND Truth Table |    Result |
 A = False, B = False | A AND B = True  | 
 A = False, B = True  | A AND B = True  | 
 A = True, B = False  | A AND B = True  | 
 A = True, B = True   | A AND B = False | 

3. 或门 

如果两个输入中的任何一个为 1,或门的输出为 1,否则为 0。

# Python3 程序来说明或门的工作

def OR(a, b):
	if a == 1 or b ==1:
		return True
	else:
		return False

# 驱动程序代码
if __name__=='__main__':
	print(OR(0, 0))

	print("+---------------+----------------+")
	print(" | OR Truth Table | Result |")
	print(" A = False, B = False | A OR B =",OR(False,False)," | ")
	print(" A = False, B = True | A OR B =",OR(False,True)," | ")
	print(" A = True, B = False | A OR B =",OR(True,False)," | ")
	print(" A = True, B = True | A OR B =",OR(True,True)," | ")

输出: 

False
+---------------+----------------+
 | OR Truth Table |    Result |
 A = False, B = False | A OR B = False  | 
 A = False, B = True  | A OR B = True   | 
 A = True, B = False  | A OR B = True   | 
 A = True, B = True   | A OR B = True   | 

4. 异或 

门 如果输入中的任何一个不同,异或门的输出为 1,如果它们相同,则输出为 0。

# 说明异或门工作的 Python3 程序

def XOR (a, b):
	if a != b:
		return 1
	else:
		return 0

# 驱动程序代码
if __name__=='__main__':
	print(XOR(5, 5))

	print("+---------------+----------------+")
	print(" | XOR Truth Table | Result |")
	print(" A = False, B = False | A XOR B =",XOR(False,False)," | ")
	print(" A = False, B = True | A XOR B =",XOR(False,True)," | ")
	print(" A = True, B = False | A XOR B =",XOR(True,False)," | ")
	print(" A = True, B = True | A XOR B =",XOR(True,True)," | ")

输出: 

0
+---------------+----------------+
 | XOR Truth Table | Result |
 A = False, B = False | A XOR B = 0  | 
 A = False, B = True  | A XOR B = 1  | 
 A = True, B = False  | A XOR B = 1  | 
 A = True, B = True   | A XOR B = 0  | 

5. NOT Gate 

它作为一个反相器。它只需要一个输入。如果输入为 1,它会将结果反转为 0,反之亦然。

# Python3 程序来说明非门的工作原理

def NOT(a):
	return not a
# 驱动程序代码
if __name__=='__main__':
	print(NOT(0))

	print("+---------------+----------------+")
	print(" | NOT Truth Table | Result |")
	print(" A = False | A NOT =",NOT(False)," | ")
	print(" A = True, | A NOT =",NOT(True)," | ")

输出: 

1
+---------------+----------------+
 | NOT Truth Table | Result |
 A = False | A NOT = 1  | 
 A = True, | A NOT = 0  | 

6. NOR 门 

NOR 门(取反的 OR)如果两个输入都为 0,则输出为 1,否则为 0。

# Python3程序来说明或非门的工作

def NOR(a, b):
	if(a == 0) and (b == 0):
		return 1
	elif(a == 0) and (b == 1):
		return 0
	elif(a == 1) and (b == 0):
		return 0
	elif(a == 1) and (b == 1):
		return 0

# 驱动程序代码
if __name__=='__main__':
	print(NOR(0, 0))

	print("+---------------+----------------+")
	print(" | NOR Truth Table | Result |")
	print(" A = False, B = False | A NOR B =",NOR(False,False)," | ")
	print(" A = False, B = True | A NOR B =",NOR(False,True)," | ")
	print(" A = True, B = False | A NOR B =",NOR(True,False)," | ")
	print(" A = True, B = True | A NOR B =",NOR(True,True)," | ")

输出: 

1
+---------------+----------------+
 | NOT Truth Table | Result |
 A = False | A NOT = 1  | 
 A = True, | A NOT = 0  | 

7. XNOR 门 

XNOR 门(取反的 XOR)输出 1,两个输入相同,如果两者不同,则输出 0。

# Python3 程序来说明非门的工作原理
def XNOR(a,b):
	if(a == b):
		return 1
	else:
		return 0
# 驱动程序代码
if __name__=='__main__':
	print(XNOR(1,1))

	print("+---------------+----------------+")
	print(" | XNOR Truth Table | Result |")
	print(" A = False, B = False | A XNOR B =",XNOR(False,False)," | ")
	print(" A = False, B = True | A XNOR B =",XNOR(False,True)," | ")
	print(" A = True, B = False | A XNOR B =",XNOR(True,False)," | ")
	print(" A = True, B = True | A XNOR B =",XNOR(True,True)," | ")

输出: 

1
+---------------+----------------+
 | XNOR Truth Table |  Result |
 A = False, B = False | A XNOR B = 1  | 
 A = False, B = True  | A XNOR B = 0  | 
 A = True, B = False  | A XNOR B = 0  | 
 A = True, B = True   | A XNOR B = 1  | 

到此这篇关于Python运算符教程之逻辑门详解的文章就介绍到这了,更多相关Python逻辑门内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现本地批量ping多个IP的方法示例

    python实现本地批量ping多个IP的方法示例

    这篇文章主要介绍了python实现本地批量ping多个IP的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 用Python shell简化开发

    用Python shell简化开发

    这篇文章给大家详细分享了在Python的开发中,如何通过Python shell简化开发,有兴趣的朋友们可以学习下。
    2018-08-08
  • pygame实现俄罗斯方块游戏(AI篇1)

    pygame实现俄罗斯方块游戏(AI篇1)

    这篇文章主要为大家详细介绍了pygame实现俄罗斯方块游戏AI的第1篇,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • Python连接Mssql基础教程之Python库pymssql

    Python连接Mssql基础教程之Python库pymssql

    这篇文章主要给大家介绍了关于Python连接Mssql基础教程之Python库pymssql的相关资料,文中分别介绍了连接数据库、游标使用注意事项、游标返回行为字典变量、使用with语句(上下文管理器)以及调用存储过程等的实现,需要的朋友可以参考下
    2018-09-09
  • Web服务器框架 Tornado简介

    Web服务器框架 Tornado简介

    Tornado Web Server 是使用Python编写出來的一个极轻量级、高可伸缩性和非阻塞IO的Web服务器软件,著名的 Friendfeed 网站就是使用它搭建的。
    2014-07-07
  • 正确理解python中的关键字“with”与上下文管理器

    正确理解python中的关键字“with”与上下文管理器

    这篇文章主要介绍了关于python中关键字"with"和上下文管理器的相关资料,文中介绍的非常详细,相信对大家学习或者使用python具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • python中decimal模块的用法

    python中decimal模块的用法

    本文主要介绍了python中decimal模块的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 使用Python实现插入100万条数据到MySQL数据库

    使用Python实现插入100万条数据到MySQL数据库

    这篇文章主要为大家详细介绍了如何使用Python实现插入100万条数据到MySQL数据库,文中的示例代码讲解详细,有需要的小伙伴可以参考一下
    2024-04-04
  • Python 序列化和反序列化库 MarshMallow 的用法实例代码

    Python 序列化和反序列化库 MarshMallow 的用法实例代码

    marshmallow(Object serialization and deserialization, lightweight and fluffy.)用于对对象进行序列化和反序列化,并同步进行数据验证。这篇文章主要介绍了Python 序列化和反序列化库 MarshMallow 的用法实例代码,需要的朋友可以参考下
    2020-02-02
  • python统计一个文本中重复行数的方法

    python统计一个文本中重复行数的方法

    这篇文章主要介绍了python统计一个文本中重复行数的方法,涉及针对Python中dict对象的使用及相关本文的操作,具有一定的借鉴价值,需要的朋友可以参考下
    2014-11-11

最新评论