input: Write a Python function to convert an infix expression to a postfix expression.
  assert convert_to_postfix("3+4*2/(1-5)") == "342*15-+/"
  assert convert_to_postfix("a+b*(c^d-e)^(f+g*h)-i") == "abcd^e-fgh*+^*+i-"
  assert convert_to_postfix("2+3*4") == "234*+"
  assert convert_to_postfix("A*(B+C)/D") == "ABC+*D/"
  assert convert_to_postfix("1+2*3-4/5") == "123*+45/-"
output: def convert_to_postfix(expression):
      precedence = {'+': 1, '-': 1, '*': 2, '/': 2, '^': 3}
      def get_precedence(op):
          return precedence[op] if op in precedence else 0
  
      def is_operator(c):
          return c in precedence
  
      stack = []
      postfix = []
  
      for char in expression:
          if char.isalnum():
              postfix.append(char)
          elif char == '(':
              stack.append(char)
          elif char == ')':
              while stack and stack[-1] != '(':
                  postfix.append(stack.pop())
              stack.pop()
          else:
              while stack and get_precedence(stack[-1]) >= get_precedence(char):
                  postfix.append(stack.pop())
              stack.append(char)
  
      while stack:
          postfix.append(stack.pop())
  
      return ''.join(postfix)