Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Boolean Algebra by marcelina.gorzelana
operations = {"conjunction" : 1, "disjunction" : 2, "implication" : 3, "exclusive" : 4, "equivalence" : 5}
def boolean(x, y, operation):
op = operations[operation]
res = 1
if op == 1 and x + y != 2:
res = 0
if op == 2 and x + y == 0:
res = 0
if op == 3 and x == 1 and y == 0:
res = 0
if op == 4 and x + y != 1:
res = 0
if op == 5 and x != y:
res = 0
return res
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert boolean(1, 0, "conjunction") == 0, "and"
assert boolean(1, 0, "disjunction") == 1, "or"
assert boolean(1, 1, "implication") == 1, "material"
assert boolean(0, 1, "exclusive") == 1, "xor"
assert boolean(0, 1, "equivalence") == 0, "same?"
Nov. 26, 2016