input: Write a function to calculate the Euclidean distance between two points in a 2D plane. The function should take four arguments representing the coordinates of the two points and return the distance as a floating-point number. If any of the input coordinates are invalid, the function should raise a ValueError.
  
  import math
  
  def distance_between_points(x1, y1, x2, y2):
      if not all(isinstance(coord, (int, float)) for coord in [x1, y1, x2, y2]):
          raise ValueError("All coordinates must be integers or floats")
      return math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
  
  assert distance_between_points(2, 7, 4, 9) == 2.8284271247461903
  assert distance_between_points(0, 0, 3, 4) == 5.0
  assert distance_between_points(-1, -1, 1, 1) == 2.8284271247461903
  assert distance_between_points(-3, 0, 0, 4) == 5.0
  try:
      distance_between_points(1, 'a', 2, 3)
  except ValueError:
      assert True
  else:
      assert False
output: 
  import math
  
  def distance_between_points(x1, y1, x2, y2):
      if not all(isinstance(coord, (int, float)) for coord in [x1, y1, x2, y2]):
          raise ValueError("All coordinates must be integers or floats")
      return math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
  