input: Write a Python function to convert mathematical expressions to postfix notation.
  assert to_postfix("( a + b ) * c - ( d / e )") == ['a', 'b', '+', 'c', '*', 'd', 'e', '/', '-']
  assert to_postfix("a + b * c") == ['a', 'b', 'c', '*', '+']
  assert to_postfix("a * b + c / d") == ['a', 'b', '*', 'c', 'd', '/', '+']
output: def to_postfix(expression):
      precedence = {'+': 1, '-': 1, '*': 2, '/': 2, '(': 0}
      output = []
      operators = []
  
      tokens = expression.split()
  
      for token in tokens:
          if token.isalnum():  # If the token is an operand, add it to the output list
              output.append(token)
          elif token == '(':  # If the token is '(', push it to the stack
              operators.append(token)
          elif token == ')':  # If the token is ')', pop from the stack to output list until '(' is encountered
              while operators and operators[-1] != '(':
                  output.append(operators.pop())
              operators.pop()  # Pop '(' from stack
          else:  # If the token is an operator, pop from stack to output list until stack top has less precedence
              while operators and precedence[operators[-1]] >= precedence[token]:
                  output.append(operators.pop())
              operators.append(token)
  
      while operators:  # Pop all the remaining operators in the stack
          output.append(operators.pop())
  
      return output