Simple Python Code
def evaluate(expr, values):
expr = expr.translate(str.maketrans(
{k: str(v) for k, v in values.items()}
))
return eval(expr)
expr = "A and B or not C"
test_values = [
{'A': True, 'B': False, 'C': True},
{'A': True, 'B': True, 'C': False},
{'A': False, 'B': True, 'C': False},
{'A': False, 'B': False, 'C': True}
]
print("Expression:", expr, "\n")
for i, values in enumerate(test_values, 1):
print(f"Test Case {i}")
print("Values:", values)
print("Result:", evaluate(expr, values))
print("-" * 30)Advanced Python Code
def evaluate(expr, values):
expr = expr.translate(str.maketrans(
{k: str(v) for k, v in values.items()}
))
return eval(expr)
expr = "A and B or not C"
test_values = [
{'A': True, 'B': False, 'C': True},
{'A': True, 'B': True, 'C': False},
{'A': False, 'B': True, 'C': False},
{'A': False, 'B': False, 'C': True}
]
print("Expression:", expr, "\n")
for i, values in enumerate(test_values, 1):
print(f"Test Case {i}")
print("Values:", values)
print("Result:", evaluate(expr, values))
print("-" * 30)