본문 바로가기

Data Analysis/파이썬

[파이썬] 논리 게이트 구현하기 (AND, OR, NAND, NOR, XOR, XNOR Logicgate in Python)

파이썬을 통해서 논리게이트를 구현하는 방법을 살펴보도록 하겠습니다.

 

해당 포스팅은 퍼셉트론을 구현하기 위한 것이 아닌, 단순 논리회로를 구성하는 방법에 대한 코드입니다.

 

논리게이트에 대한 이해가 있으시다면, 코드 구현은 크게 어렵지 않으니, 아래 코드를 참고하시면 되겠습니다.

 

1. AND Gate

def AND (a, b): 
    if a == 1 and b == 1: 
        return True
    else: 
        return False
  
# main function

if __name__=='__main__': 
    print(AND(0,0)) 
    print(AND(1,0)) 
    print(AND(0,1)) 
    print(AND(1,1))

2. OR Gate

def OR(a, b): 
    if a == 1: 
        return True
    elif b == 1: 
        return True
    else: 
        return False  
# main function
if __name__=='__main__': 
    print(OR(0,0)) 
    print(OR(1,0)) 
    print(OR(0,1)) 
    print(OR(1,1))

3. NOT Gate

def NOT(a): 
    if(a == 0): 
        return True
    elif(a == 1): 
        return False 
# main function
if __name__=='__main__': 
    print(NOT(0)) 
    print(NOT(1))

4. NAND Gate

def NAND (a, b): 
    if a == 1 and b == 1: 
        return False
    else: 
        return True
# main function
if __name__=='__main__': 
    print(NAND(0,0)) 
    print(NAND(1,0)) 
    print(NAND(0,1)) 
    print(NAND(1,1))

5. NOR Gate

def NOR(a, b): 
    if(a == 0) and (b == 0): 
        return True
    elif(a == 0) and (b == 1): 
        return False
    elif(a == 1) and (b == 0): 
        return False
    elif(a == 1) and (b == 1): 
        return False
# main function
if __name__=='__main__': 
    print(NOR(0,0)) 
    print(NOR(1,0)) 
    print(NOR(0,1)) 
    print(NOR(1,1))

6. XOR Gate

def XOR (a, b): 
    if a != b: 
        return True
    else: 
        return False
# main function
if __name__=='__main__': 
    print(XOR(0,0)) 
    print(XOR(1,0)) 
    print(XOR(0,1)) 
    print(XOR(1,1))

7. XNOR GATE

def XNOR(a,b): 
    if(a == b): 
        return True
    else: 
        return False
# main function
if __name__=='__main__': 
    print(XNOR(0,0)) 
    print(XNOR(1,0)) 
    print(XNOR(0,1)) 
    print(XNOR(1,1))