Skip to content
Snippets Groups Projects
Select Git revision
  • 8b244b333a349a5693c0a1dbb9d1e7497c3e96b7
  • master default
2 results

puzzle.py

Blame
  • operators.py 724 B
    """
    Operator module contains the Operator class and a list of standard operators.
    """
    class Operator:
        """
        Operator class is a binary operator with a symbol, a precedence and an evaluation function.
        """
        def __init__(self, symbol, precedence, evaluate_function):
          self.symbol = symbol
          self.precedence = precedence
          self.evaluate_function = evaluate_function
    
        def __repr__(self):
            return self.symbol
    
        def __call__(self, left, right):
            return self.evaluate_function(left, right)
    
    
    STANDARD_OPERATORS = { '+': Operator('+', 1, lambda a, b: a + b),'-': Operator('-', 1, lambda a, b: a - b),'*': Operator('×', 2, lambda a, b: a * b),'/': Operator('/', 2, lambda a, b: a / b)}