Exercises

  1. Add a distanceFromPoint method that works similar to distanceFromOrigin except that it takes a Point as a parameter and computes the distance between that point and self.


    
    
    

    (classes_q1)


     
    1
    import math
    2
    3
    class Point:
    4
        """ Point class for representing and manipulating x,y coordinates. """
    5
    6
        def __init__(self, initX, initY):
    7
            """ Create a new point at the given coordinates. """
    8
            self.x = initX
    9
            self.y = initY
    10
    11
        def getX(self):
    12
            return self.x
    13
    14
        def getY(self):
    15
            return self.y
    16
    17
        def distanceFromOrigin(self):
    18
            return ((self.x ** 2) + (self.y ** 2)) ** 0.5
    19
    20
        def distanceFromPoint(self, otherP):
    21
            dx = (otherP.getX() - self.x)
    22
            dy = (otherP.getY() - self.y)
    23
            return math.sqrt(dy**2 + dx**2)
    24
    25
    p = Point(3, 3)
    26
    q = Point(6, 7)
    27
    print(p.distanceFromPoint(q))
    28
    
    
    

    (ch_cl_ex_1_answer)

    Show Comments
  2. Add a method reflect_x to Point which returns a new Point, one which is the reflection of the point about the x-axis. For example, Point(3, 5).reflect_x() is (3, -5)


    
    
    

    (ch_cl_02)

  3. Add a method slope_from_origin which returns the slope of the line joining the origin to the point. For example,

    >>> Point(4, 10).slope_from_origin()
    2.5
    

    What cases will cause your method to fail? Return None when it happens.


    
    
    

    (classes_q3)


    27
     
    1
    class Point:
    2
        """ Point class for representing and manipulating x,y coordinates. """
    3
    4
        def __init__(self, initX, initY):
    5
            """ Create a new point at the given coordinates. """
    6
            self.x = initX
    7
            self.y = initY
    8
    9
        def getX(self):
    10
            return self.x
    11
    12
        def getY(self):
    13
            return self.y
    14
    15
        def distanceFromOrigin(self):
    16
            return ((self.x ** 2) + (self.y ** 2)) ** 0.5
    17
    18
        def slope_from_origin(self):
    19
            if self.x == 0:
    20
               return None
    21
            else:
    22
               return self.y / self.x
    23
    24
    25
    p = Point(4, 10)
    26
    print(p.slope_from_origin())
    27
    
    
    

    (ch_cl_ex_3_answer)

    Show Comments
  4. The equation of a straight line is “y = ax + b”, (or perhaps “y = mx + c”). The coefficients a and b completely describe the line. Write a method in the Point class so that if a point instance is given another point, it will compute the equation of the straight line joining the two points. It must return the two coefficients as a tuple of two values. For example,

    >>> print(Point(4, 11).get_line_to(Point(6, 15)))
    >>> (2, 3)
    

    This tells us that the equation of the line joining the two points is “y = 2x + 3”. When will your method fail?


    
    
    

    (ch_cl_04)

  5. Add a method called move that will take two parameters, call them dx and dy. The method will cause the point to move in the x and y direction the number of units given. (Hint: you will change the values of the state of the point)


    
    
    

    (classes_q5)


    30
     
    1
    class Point:
    2
        """ Point class for representing and manipulating x,y coordinates. """
    3
    4
        def __init__(self, initX, initY):
    5
            """ Create a new point at the given coordinates. """
    6
            self.x = initX
    7
            self.y = initY
    8
    9
        def getX(self):
    10
            return self.x
    11
    12
        def getY(self):
    13
            return self.y
    14
    15
        def distanceFromOrigin(self):
    16
            return ((self.x ** 2) + (self.y ** 2)) ** 0.5
    17
    18
        def move(self, dx, dy):
    19
            self.x = self.x + dx
    20
            self.y = self.y + dy
    21
    22
        def __str__(self):
    23
            return str(self.x) + "," + str(self.y)
    24
    25
    26
    p = Point(7, 6)
    27
    print(p)
    28
    p.move(5, 10)
    29
    print(p)
    30
    
    
    

    (ch_cl_05_answer)

    Show Comments
  6. Given three points that fall on the circumference of a circle, find the center and radius of the circle.


    
    
    

    (classes_q6)

Next Section - Fractions