input: Write a python function to convert infix expressions to postfix notation.
  assert infix_to_postfix("A * B + C") == "AB*C+"
  assert infix_to_postfix("(A + B) * C") == "AB+C*"
  assert infix_to_postfix("A + B * C - D") == "ABC*+D-"
  assert infix_to_postfix("A * (B + C) / D") == "ABC+*D/"
output: def infix_to_postfix(expression):
      precedence = {'+': 1, '-': 1, '*': 2, '/': 2, '(': 0}
      stack = []
      output = []
      
      for char in expression:
          if char.isalpha():  # If the character is an operand, add it to the output
              output.append(char)
          elif char == '(':  # If the character is '(', push it to the stack
              stack.append(char)
          elif char == ')':  # If the character is ')', pop from the stack to the output until '(' is found
              while stack and stack[-1] != '(':
                  output.append(stack.pop())
              stack.pop()  # pop the '('
          else:  # The character is an operator
              while stack and precedence[stack[-1]] >= precedence[char]:
                  output.append(stack.pop())
              stack.append(char)
      
      # Pop all the operators from the stack
      while stack:
          output.append(stack.pop())
      
      return ''.join(output)