First page Back Continue Last page Overview Graphics

Length Class, Implementation

class Length:

__metric = {"mm" : 0.001, "cm" : 0.01, "m" : 1, "km" : 1000,

"in" : 0.0254, "ft" : 0.3048, "yd" : 0.9144,

"mi" : 1609.344 }

def __init__(self, value, unit = "m" ):

self.value = value

self.unit = unit

def convert2metres(self):

return self.value * Length.__metric[self.unit]

def __add__(self, other):

l = self.convert2metres() + other.convert2metres()

return Length(l / Length.__metric[self.unit], self.unit )

def __iadd__(self, other):

l = self.convert2metres() + other.convert2metres()

self.value = l / Length.__metric[self.unit]

return self