Lecture 18 — Exercises¶
Solutions to the problems below must be sent to Submitty for automatic scoring. A separate file must submitted for each problem. Solutions must be submitted by 4 pm on Tuesday, April 4.
Starting from the
Point2d.py
file you download from the Resources page of the Piazza site, please do the following:- Write a new
Point2d
method calledscale
that takes as an input argument aPoint2d
object (self
) and a numerical value (int or float) and multiples both thex
andy
attributes by this value. - Write a new
Point2d
method calleddominates
that two takes twoPoint2d
objects and returnsTrue
if and only if the x coordinate of the first object is greater than that of the second object and the y coordinate of the first object is greater than that of the second object. - The code to test these functions is commented out in the main
code area. Please remove this commenting, test on Piazza, and
submit your resulting
Point2d.py
file. Call itPoint2d_q1.py
- Write a new
Copy your resulting file from the first question to a new file, perhaps called
Point2d_q2.py
.- Write and test the implementation of the method
__str__
which returns a string created from the values of aPoint2d
object. For our purposes this is mostly used to create a string that can be printed. Make sure you have this working before you proceed to the other parts of this exercise because they depend on it. - Write the implementation of the subtraction method
__sub__
for thePoint2d
object. Uncomment the code in the main area and test this in Wing IDE. - Write the implementation of the method
__mul__
which is like thescale
function you wrote for part 1, but it creates a newPoint2d
object. - Write the implementation of the method
__eq__
which returnsTrue
if and only if the twoPoint2d
objects have exactly the samex
andy
values.
For each of these you should look at the commented out main code in the
Point2d.py
file you were provided to see how these methods should be used. Uncomment this code, test your methods, and upload to Submitty when you are done.- Write and test the implementation of the method