import math
class Point: def __init__( self, xValue = 0, yValue = 0 ): self.x = xValue self.y = yValue
class Circle( Point ): def __init__( self, x = 0, y = 0, radiusValue = 0.0 ): Point.__init__( self, x, y ) # call base-class constructor self.radius = float( radiusValue )
def area( self ): return math.pi * self.radius ** 2
def __str__( self ): return "Center = %s Radius = %f" % ( Point.__str__( self ), self.radius )
class Cylinder( Circle ): def __init__( self, x, y, radius, height ): Circle.__init__( self, x, y, radius ) self.height = float( height )
def area( self ): return 2 * Circle.area( self ) + 2 * math.pi * self.radius * self.height
def volume( self ): return Circle.area( self ) * height
def __str__( self ): return "%s; Height = %f" % ( Circle.__str__( self ), self.height )
cylinder = Cylinder( 12, 23, 2.5, 5.7 )
print "X coordinate is:", cylinder.x print "Y coordinate is:", cylinder.y print "Radius is:", cylinder.radius print "Height is:", cylinder.height
cylinder.height = 10 cylinder.radius = 4.25 cylinder.x, cylinder.y = 2, 2 print "nThe new points, radius and height of cylinder are:", cylinder
print "nThe area of cylinder is: %.2f" % cylinder.area()
print "ncylinder printed as a Point is:", Point.__str__( cylinder )
print "ncylinder printed as a Circle is:", Circle.__str__( cylinder )
|