Object Oriented Programming

Homework Assignment

Problem 1

Fill in the Line class methods to accept coordinate as a pair of tuples and return the slope and distance of the line.


In [18]:
class Line(object):
    
    def __init__(self,coor1,coor2):
        self.coor1 = coor1
        self.coor2 = coor2
    
    def distance(self):
        return ((self.coor2[0] - self.coor1[0])**2 + \
                (self.coor2[1] - self.coor1[1])**2)**0.5
    
    def slope(self):
        return (self.coor2[1] - self.coor1[1]) / \
                (self.coor2[0] - self.coor1[0])

In [19]:
# EXAMPLE OUTPUT

coordinate1 = (3,2)
coordinate2 = (8,10)

li = Line(coordinate1,coordinate2)

In [20]:
li.distance()


Out[20]:
9.433981132056603

In [21]:
li.slope()


Out[21]:
1.6

In [20]:
coord1 = (3.0, 2.0)
coord2 = (8.0, 10.0)

li = Line(coord1, coord2)

In [21]:
li.distance()


Out[21]:
9.433981132056603

In [22]:
li.slope()


Out[22]:
1.6

Problem 2

Fill in the class


In [29]:
class Cylinder(object):
    pi = 3.14
    
    def __init__(self,height=1,radius=1):
        self.height = height
        self.radius = radius
        
    def volume(self):
        return Cylinder.pi * (self.radius**2) * self.height
    
    def surface_area(self):
        circles = 2 * Cylinder.pi * self.radius**2
        wall = 2 * Cylinder.pi * self.radius * self.height
        return circles + wall

In [32]:
# EXAMPLE OUTPUT
c = Cylinder(2,3)

In [34]:
c.volume()


Out[34]:
56.52

In [35]:
c.surface_area()


Out[35]:
94.2

In [30]:
ce = Cylinder(2, 3)

In [31]:
ce.volume()


Out[31]:
56.52

In [32]:
ce.surface_area()


Out[32]:
94.2

In [ ]: