Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- inputs = [[0,0,0],[0,0,1],[0,1,0],
- [0,1,1],[1,0,0],[1,0,1],
- [1,1,0],[1,1,1]]
- def NOT(A):
- return 1 - A
- def NAND(A,B):
- return NOT(A and B)
- def XOR(A,B):
- if A == B:
- return 0
- return 1
- def buffer(A,E):
- if E == 1:
- return A
- return 'Z'
- def OUT(A,B):
- if A == B:
- return A
- elif A != 'Z' and B == 'Z':
- return A
- elif A == 'Z' and B != 'Z':
- return B
- # def func(ABC):
- # A = ABC[0]
- # B = ABC[1]
- # C = ABC[2]
- #
- # NAND1 = NAND(A,B)
- # print("NAND1:",NAND1)
- # XOR1 = XOR(B,C)
- # print("XOR1:",XOR1)
- # AND2 = NAND1 and XOR1
- # print("AND2:",AND2)
- # BUFFER1 = buffer(AND2,NAND1)
- # BUFFER2 = buffer(XOR1,AND2)
- # print("BUFFER1:",BUFFER1)
- # print("BUFFER2:",BUFFER2)
- # final = OUT(BUFFER1,BUFFER2)
- # return final
- def func1(ABC):
- A = ABC[0]
- B = ABC[1]
- C = ABC[2]
- NAND1 = NAND(A,B)
- XOR1 = XOR(B,C)
- AND2 = NAND1 and XOR1
- BUFFER1 = buffer(AND2,NAND1)
- BUFFER2 = buffer(XOR1,AND2)
- final = OUT(BUFFER1,BUFFER2)
- return final
- count = 1
- for e in inputs:
- print(str(count)+":",func1(e))
- count += 1
Add Comment
Please, Sign In to add comment