input: from typing import List
  
  def solve_linear_programming_using_simplex(variables: List[str], objective_fn: List[float], constraints: List[List[float]], rhs_constraints: List[float]) -> List[float]:
      """ Use the Simplex Method to solve a linear programming problem. The function takes in 
      a list of variables, the coefficients of the objective function, a list of constraints
      (with the coefficients for each constraint), and the right-hand sides (rhs) of the constraints.
      The output is the optimal set of values for the variables that satisfy all constraints and 
      maximize/minimize the objective function.
      >>> solve_linear_programming_using_simplex(['x', 'y'], [3, 2], [[1, 2], [2, 1]], [10, 10])
      [4.0, 3.0]
      """
output:     from scipy.optimize import linprog
  
      num_variables = len(variables)
      num_constraints = len(constraints)
  
      # Convert the objective function to a minimization problem
      c = [-x for x in objective_fn]
  
      # Convert constraints to the form required by linprog
      A = constraints
      b = rhs_constraints
  
      # Solve the linear programming problem using the Simplex Method
      result = linprog(c, A_ub=A, b_ub=b, bounds=(0, None))
  
      if result.success:
          return result.x.tolist()
      else:
          raise ValueError("The linear programming problem could not be solved.")