input: 
  import math
  
  def solveQuadratic(a: float, b: float, c: float) -> dict:
      """
      Solve the quadratic equation ax^2 + bx + c = 0 and return the roots.
  
      Returns:
          A dictionary with the status of the roots (True if real roots exist, False otherwise)
          and the list of roots. If no real roots, the list is empty.
      
      Examples:
      >>> solveQuadratic(1, 3, -4)
      {'status': True, 'roots': [-4.0, 1.0]}
      >>> solveQuadratic(1, 2, 1)
      {'status': True, 'roots': [-1.0]}
      >>> solveQuadratic(1, 0, 1)
      {'status': False, 'roots': []}
      """
      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 root.
      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]
          }
  
output:     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 root.
      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]
          }