import shapes class Rhombus(shapes.Parallelogram): """Instances are a rhombus, which is a type of parallelogram with horizontal length l1 (and other length l1) whose bottom line starts d units to the right of the x-coordinate of the leftmost part of the rhombus, unless d < 0, in which case the top line starts d units to the right of the leftmost part of the rhombus.""" def __init__(self, xp, yp, lp1, dp): """Constructor: a rhombus at (xp, yp) of side lengths lp1, leaning factor dp Precondition: xp, yp, lp1, and dp are all numbers (floats or ints). lp1 may not be negative""" # IMPLEMENT ME pass def __str__(self): """Returns: description of this rhombus""" return ('rhombus at (' + str(self.x) + ', ' + str(self.y) + '), side ' + str(self.l1) + ', distance ' + str(self.d) + ' from ' + str(self.x)) class Square(Rhombus): def __init__(self, xp, yp, l): """Constructor: a square at (xp, yp) of side length l""" # IMPLEMENT ME pass def __str__(self): """Returns: description of this square""" # IMPLEMENT ME return ('square at (' + str(self.x) + ', ' + str(self.y) + '), side ' + str(self.l1))