input: Write a function to solve a quadratic equation given the coefficients a, b, and c (ax^2 + bx + c = 0). The function should return a dictionary with the status of whether the roots are real (True or False) and the list of roots. If there are no real roots, the list of roots should be empty.
  
  def solveQuadratic(a, b, c): 
      discriminant = (b**2) - (4*a*c);
      
      # If discriminant is negative there are no real roots.
      if (discriminant < 0): 
          return {
              "status": False,
              "roots": []
          }
      # If discriminant is zero, there is only one real roots.
      elif (discriminant == 0):
          x = -b/(2*a)
          return {
              "status": True,
              "roots": [x]
          }
      # Otherwise there are 2 real roots 
      else:
          x1 = (-b + math.sqrt(discriminant)) / (2*a); 
          x2 = (-b - math.sqrt(discriminant)) / (2*a); 
          return {
              "status": True,
              "roots": [x1, x2]
          }
  
  assert solveQuadratic(1, 3, -4) == {"status": True, "roots": [-4.0, 1.0]}
  assert solveQuadratic(1, 2, 1) == {"status": True, "roots": [-1.0]}
  assert solveQuadratic(1, 1, 1) == {"status": False, "roots": []}
  assert solveQuadratic(0, 0, 0) == {"status": True, "roots": [None]} # Edge case: non-quadratic equation
output: def solveQuadratic(a, b, c): 
      discriminant = (b**2) - (4*a*c)
      
      if discriminant < 0: 
          return {
              "status": False,
              "roots": []
          }
      elif discriminant == 0:
          x = -b/(2*a)
          return {
              "status": True,
              "roots": [x]
          }
      else:
          x1 = (-b + math.sqrt(discriminant)) / (2*a)
          x2 = (-b - math.sqrt(discriminant)) / (2*a)
          return {
              "status": True,
              "roots": [x1, x2]
          }