class ScaleConverter: def __init__(self,unit_from,unit_to,factor): self.unit_from=unit_from self.unit_to=unit_to self.factor=factor def description(self): return 'Convert '+self.unit_from+' to '+self.unit_to def convert(self,value): return value*self.factorc1=ScaleConverter('inches','mm',25) print(c1.description())print(str(c1.convert(2))+c1.unit_to)class ScaleAndOffsetConverter(ScaleConverter): def __init__(self,unit_from,unit_to,factor,offset): ScaleConverter.__init__(self,unit_from,unit_to,factor) self.offset=offset def convert(self,value): return value*self.factor+self.offsetc2=ScaleAndOffsetConverter('C','F',1.8,32) print(c2.description())print(str(c2.convert(20))+c2.unit_to)