vinocastro

PS6

Oct 15th, 2020 (edited)
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.21 KB | None | 0 0
  1. inputs = [[0,0,0],[0,0,1],[0,1,0],
  2.           [0,1,1],[1,0,0],[1,0,1],
  3.           [1,1,0],[1,1,1]]
  4.  
  5. def NOT(A):
  6.     return 1 - A
  7.  
  8. def NAND(A,B):
  9.     return NOT(A and B)
  10.  
  11. def XOR(A,B):
  12.     if A == B:
  13.         return 0
  14.     return 1
  15.  
  16. def buffer(A,E):
  17.     if E == 1:
  18.         return A
  19.     return 'Z'
  20.  
  21. def OUT(A,B):
  22.     if A == B:
  23.         return A
  24.     elif A != 'Z' and B == 'Z':
  25.         return A
  26.     elif A == 'Z' and B != 'Z':
  27.         return B
  28.  
  29. # def func(ABC):
  30. #     A = ABC[0]
  31. #     B = ABC[1]
  32. #     C = ABC[2]
  33. #
  34. #     NAND1 = NAND(A,B)
  35. #     print("NAND1:",NAND1)
  36. #     XOR1 = XOR(B,C)
  37. #     print("XOR1:",XOR1)
  38. #     AND2 = NAND1 and XOR1
  39. #     print("AND2:",AND2)
  40. #     BUFFER1 = buffer(AND2,NAND1)
  41. #     BUFFER2 = buffer(XOR1,AND2)
  42. #     print("BUFFER1:",BUFFER1)
  43. #     print("BUFFER2:",BUFFER2)
  44. #     final = OUT(BUFFER1,BUFFER2)
  45. #     return final
  46.  
  47. def func1(ABC):
  48.     A = ABC[0]
  49.     B = ABC[1]
  50.     C = ABC[2]
  51.  
  52.     NAND1 = NAND(A,B)
  53.     XOR1 = XOR(B,C)
  54.     AND2 = NAND1 and XOR1
  55.     BUFFER1 = buffer(AND2,NAND1)
  56.     BUFFER2 = buffer(XOR1,AND2)
  57.     final = OUT(BUFFER1,BUFFER2)
  58.     return final
  59.  
  60. count = 1
  61. for e in inputs:
  62.     print(str(count)+":",func1(e))
  63.     count += 1
  64.  
Add Comment
Please, Sign In to add comment