'''
A python program that has A and B inputs uses 
the logical gates (And,OR, XOR, NAND, and NOR)
'''

print('Gate: A,B inputs C output')
A = input("Enter your value of A: Empty string is false otherwise true: ")
B = input("Enter your value of B: Empty string is false otherwise true: ")
print("A = ",  bool(A), "\nB = ",bool(B))
print("\nA&B = ", bool(A) & bool(B))
print("A|B = ", bool(A) | bool(B))
print("A^B = ", bool(A) ^  bool(B))
print("~(A&B) = ", not bool((bool(A) & bool(B))))
print("~(A|B) = ", not  bool(( bool(A) | bool(B))))



8e6f36aa42271fac6b1404331cf443b795f73656
<mask token>

<mask token>
print('Gate: A,B inputs C output')
<mask token>
print('A = ', bool(A), '\nB = ', bool(B))
print('\nA&B = ', bool(A) & bool(B))
print('A|B = ', bool(A) | bool(B))
print('A^B = ', bool(A) ^ bool(B))
print('~(A&B) = ', not bool(bool(A) & bool(B)))
print('~(A|B) = ', not bool(bool(A) | bool(B)))

<mask token>
print('Gate: A,B inputs C output')
A = input('Enter your value of A: Empty string is false otherwise true: ')
B = input('Enter your value of B: Empty string is false otherwise true: ')
print('A = ', bool(A), '\nB = ', bool(B))
print('\nA&B = ', bool(A) & bool(B))
print('A|B = ', bool(A) | bool(B))
print('A^B = ', bool(A) ^ bool(B))
print('~(A&B) = ', not bool(bool(A) & bool(B)))
print('~(A|B) = ', not bool(bool(A) | bool(B)))

'''
A python program that has A and B inputs uses 
the logical gates (And,OR, XOR, NAND, and NOR)
'''

print('Gate: A,B inputs C output')
A = input("Enter your value of A: Empty string is false otherwise true: ")
B = input("Enter your value of B: Empty string is false otherwise true: ")
print("A = ",  bool(A), "\nB = ",bool(B))
print("\nA&B = ", bool(A) & bool(B))
print("A|B = ", bool(A) | bool(B))
print("A^B = ", bool(A) ^  bool(B))
print("~(A&B) = ", not bool((bool(A) & bool(B))))
print("~(A|B) = ", not  bool(( bool(A) | bool(B))))


