def reverse(self):
    reversestart = self.end
    reverseend = self.start
    self.start = reversestart
    self.end = reverseend
    '\n        What comes in:\n          -- self\n        What goes out: Nothing (i.e., None).\n        Side effects: MUTATES this Line so that its direction is reversed\n        (that is, its start and end points are swapped).\n        ** Must NOT mutate its start and end points -- just SWAP them. **\n\n        Examples:\n            p1 = Point(30, 17)\n            p2 = Point(50, 80)\n            line1 = Line(p1, p2)\n            line2 = line1.clone()\n\n            print(line1)  # Should print: Line[(30, 17), (50, 80)]\n\n            line1.reverse()\n            print(line1)  # Should print: Line[(50, 80), (30, 17)]\n            print(line1 == line2)    # Should print: False\n\n            line1.reverse()\n            print(line1 == line2)    # Should now print: True\n        '
def reverse(self):
    reversestart = self.end
    reverseend = self.start
    self.start = reversestart
    self.end = reverseend
    '\n        What comes in:\n          -- self\n        What goes out: Nothing (i.e., None).\n        Side effects: MUTATES this Line so that its direction is reversed\n        (that is, its start and end points are swapped).\n        ** Must NOT mutate its start and end points -- just SWAP them. **\n\n        Examples:\n            p1 = Point(30, 17)\n            p2 = Point(50, 80)\n            line1 = Line(p1, p2)\n            line2 = line1.clone()\n\n            print(line1)  # Should print: Line[(30, 17), (50, 80)]\n\n            line1.reverse()\n            print(line1)  # Should print: Line[(50, 80), (30, 17)]\n            print(line1 == line2)    # Should print: False\n\n            line1.reverse()\n            print(line1 == line2)    # Should now print: True\n        '