input: 
  def solve_linear_programming_prob_using_simplex(decision_vars, objective_fn, constraints) -> List[float]:
      """
      Solves a linear programming problem using the Simplex Method in Python. This method finds
      the maximum or minimum value of a linear objective function subject to a set of linear
      constraints. The approach involves setting up a tableau, iterating through vertices of the
      polytope defined by the constraints, and performing pivot operations until an optimum
      solution is found.
  
      >>> solve_linear_programming_prob_using_simplex(['x1', 'x2'], '3x1 + 2x2', ['x1 + x2 <= 4', '2x1 + x2 <= 5', 'x1 >= 0', 'x2 >= 0'])
      [2.0, 2.0]
      >>> solve_linear_programming_prob_using_simplex(['x', 'y'], 'x - 3y', ['x + y <= 6', 'x >= 0', 'y >= 0'])
      [6.0, 0.0]
      """
  
output:     from scipy.optimize import linprog
      import re
  
      # Parse the objective function
      objective_coeffs = [float(coeff) for coeff in re.findall(r'-?\d+', objective_fn)]
      if 'max' in objective_fn:
          objective_coeffs = [-coeff for coeff in objective_coeffs]
  
      # Parse the constraints
      constraint_coeffs = []
      constraint_bounds = []
      for constraint in constraints:
          if '<=' in constraint:
              coeffs = [float(coeff) for coeff in re.findall(r'-?\d+', constraint.split('<=')[0])]
              bound = float(constraint.split('<=')[1])
              constraint_coeffs.append(coeffs)
              constraint_bounds.append(bound)
          elif '>=' in constraint:
              coeffs = [float(coeff) for coeff in re.findall(r'-?\d+', constraint.split('>=')[0])]
              bound = float(constraint.split('>=')[1])
              constraint_coeffs.append([-c for c in coeffs])
              constraint_bounds.append(-bound)
  
      # Solve the linear programming problem
      result = linprog(c=objective_coeffs, A_ub=constraint_coeffs, b_ub=constraint_bounds, method='simplex')
  
      # Return the solution
      return result.x