input: Write a function to solve a quadratic equation given its coefficients. The function should return a dictionary with a "status" key indicating if the equation has real roots (True) or not (False). If there are real roots, the dictionary should also include a "roots" key with a list of the roots. If there are no real roots, the "roots" list should be empty. The input is provided as three coefficients: a, b, and c from the quadratic equation \( ax^2 + bx + c = 0 \).
  
  
  def solveQuadratic(a, b, c):
      discriminant = (b**2) - (4*a*c)
  
      # If the discriminant is negative there are no real roots.
      if discriminant < 0:
          return {"status": False, "roots": []}
      # If the discriminant is zero, there is only one real root.
      elif discriminant == 0:
          x = -b / (2*a)
          return {"status": True, "roots": [x]}
      # Otherwise there are two real roots.
      else:
          x1 = (-b + math.sqrt(discriminant)) / (2*a)
          x2 = (-b - math.sqrt(discriminant)) / (2*a)
          return {"status": True, "roots": [x1, x2]}
  
  a = 1
  b = 3
  c = -4
  
  print(solveQuadratic(a, b, c)) # {'status': True, 'roots': [1.0, -4.0]}
  
output: 
  def solveQuadratic(a, b, c):
      discriminant = (b**2) - (4*a*c)
  
      # If the discriminant is negative there are no real roots.
      if discriminant < 0:
          return {"status": False, "roots": []}
      # If the discriminant is zero, there is only one real root.
      elif discriminant == 0:
          x = -b / (2*a)
          return {"status": True, "roots": [x]}
      # Otherwise there are two real roots.
      else:
          x1 = (-b + math.sqrt(discriminant)) / (2*a)
          x2 = (-b - math.sqrt(discriminant)) / (2*a)
          return {"status": True, "roots": [x1, x2]}
  