Welcome, guest | Sign In | My Account | Store | Cart
#On the name of ALLAH
#Author : Fouad Teniou
#Date : 17/06/08
#version :2.4
import re       #Get re class
import math     #Get math class
class Converter:
    def __init__(self, other,unit=0):
        self.unit = unit
        self.other = other
    def __mul__(self):
        return self.unit * self.other
    def __div__(self):
       return round((self.other/self.unit),2)
    def __repr__(self):
        return "\n <Converter : Operation of %s, to convert the value of (%s)>" % (self.__class__.__name__,(self.other)) #class name and the value 

class FeetMetre(Converter):
    def __init__(self,other):
        Converter.__init__(self,other,0.3048) #Run Converter init
    def measure(self):
        print '\n\t\t\t',"Feet --> Metre"
        m = re.match(r"(?P<int>\d+)\.(\d*)", str("%2.2f" % self.other))
        L = round(((int(m.group(1)))*(self.unit))+(((float(m.group(2))/12))*(self.unit)),3)
        M = re.match(r"(?P<int>\d+)\.(\d*)", str(L))
        print '\n\t\t\t',m.group(1)+"ft",m.group(2)+"in" +" = "+ M.group(1)+"m",M.group(2)[:2]+"cm"
        
class MetreFeet(FeetMetre):
    def __init__(self,other):
        FeetMetre.__init__(self,other)      #Run FeetMetre init
    def measure(self):
        print '\n\t\t\t',"Metre --> Feet"
        n = re.match(r"(?P<int>\d+)\.(\d*)", str("%2.2f" % self.other))
        o = re.match(r"(?P<int>\d+)\.(\d*)", str(Converter.__div__(self)))
        print '\n\t\t\t',n.group(1)+"m",n.group(2)+"cm" +" = "+ o.group(1)+"ft","%2.2s" % (str(round((float(o.group(2))*(0.12)),0)))+"in"

class MileKilometre(Converter):
    def __init__(self,other):
        Converter.__init__(self,other,1.609) #Run Converter init
    def measure(self):
        print '\n\t\t\t',"Mile --> KiloMetre"
        print '\n\t\t\t',str(self.other)+'ml'+' = '+"%2.2f" % float(Converter.__mul__(self))+'Km'
        
class KilometreMile(MileKilometre):
    def __init__(self,other):
        MileKilometre.__init__(self,other) #Run MileKilometre init
    def measure(self):
        print '\n\t\t\t',"Kilometre --> Mile"
        print '\n\t\t\t',(str(self.other))+'Km'+' = '+ str(Converter.__div__(self))+'ml'
        
class YardMetre(Converter):
    def __init__(self,other):
        Converter.__init__(self,other,0.9144)  #Run Converter init
    def measure(self):
        print '\n\t\t\t',"Yard --> Metre"
        m = re.match(r"(?P<int>\d+)\.(\d*)", str("%2.2f" % (Converter.__mul__(self))))
        print '\n\t\t\t',str(self.other)+'yd'+' = '+ m.group(1)+'m' ,"%2.2s" % (m.group(2))+'cm'
        
class MetreYard(YardMetre):
    def __init__(self,other):
        YardMetre.__init__(self,other)          #Run YardMetre init
    def measure(self):
        print '\n\t\t\t',"Metre --> Yard"
        m = re.match(r"(?P<int>\d+)\.(\d*)", str("%2.2f" % self.other))
        print '\n\t\t\t',m.group(1)+'m',m.group(2)+'cm'+' = '+ str(Converter.__div__(self))+'yd'

class PoundKilo(Converter):
    def __init__(self,other):
        Converter.__init__(self,other,0.4536)  #Run Converter init
    def measure(self):
        print '\n\t\t\t',"Pound  --> Kilogram"
        m = re.match(r"(?P<int>\d+)\.(\d*)", str("%2.2f" % self.other))
        L = "%2.3f" % (round(((int(m.group(1)))*(self.unit))+(((float(m.group(2))/16))*(self.unit)),3))
        M = re.match(r"(?P<int>\d+)\.(\d*)", str(  L))
        print '\n\t\t\t',m.group(1)+"lb",m.group(2)+"oz" +" = "+ M.group(1)+"Kg",M.group(2)+"g"
        
class KiloPound(PoundKilo):
    def __init__(self,other):
        PoundKilo.__init__(self,other)          #Run PoundKilo init
    def measure(self):
        print '\n\t\t\t',"Kilogram  --> Pound"
        n = re.match(r"(?P<int>\d+)\.(\d*)", str("%2.3f" % self.other))
        o = re.match(r"(?P<int>\d+)\.(\d*)", str(Converter.__div__(self)))
        print '\n\t\t\t',n.group(1)+"Kg",n.group(2)+"g" +" = "+ o.group(1)+"lb","%2.2s" % (str(round((float(o.group(2))*(0.16)),0)))+"oz"

class GallonLitre(Converter):
    def __init__(self,other):
        Converter.__init__(self,other,4.55)     #Run Converter init
    def measure(self):
        print '\n\t\t\t',"British and American Gallon --> Litre"
        p=  re.match(r"(?P<int>\d+)\.(\d*)", str ( float(Converter.__mul__(self))))
        print '\n\t\t\t',str(self.other)+'(BR)gal'+' = '+ ("%2.2f" % float(self.other*1.2))+'(AM)gal'+' = '+p.group(1)+'l' ,"%2.2s" % (p.group(2))+'cl'
        
class LitreGallon(GallonLitre):
    def __init__(self,other):
        GallonLitre.__init__(self,other)        #Run GallonLitre init
    def measure(self):
        print '\n\t\t\t',"Litre --> British and American Gallon"
        q = re.match(r"(?P<int>\d+)\.(\d*)", str("%2.2f" % self.other))
        print '\n\t\t\t',q.group(1)+"l",q.group(2)+"cl" +" = " ,"%2.2f" % float(Converter.__div__(self))+'(BR)gal'+' = '"%2.2f" % float((Converter.__div__(self))*1.2)+'(AM)gal'

class TemperatureD(Converter):
    def __init__(self,other):
        Converter.__init__(self,other,1.8)       #Run Converter init
    def measure(self):
        print '\n\t\t\t',"Degree Celsius --> Fahrenheit"
        print '\n\t\t\t',str(self.other)+chr(248)+'C'+' = '+str( "%2.1f" % (32 + float(Converter.__mul__(self))))+chr(248)+'F'
        
class TemperatureF(TemperatureD):
    def __init__(self,other):
        TemperatureD.__init__(self,other)       #Run TemperatureD init
    def measure(self):
        print '\n\t\t\t',"Fahrenheit --> Degree Celsius"
        B = self.other-32
        self.other = B
        print '\n\t\t\t',str(self.other+32)+chr(248)+'F'+' = '+str( "%2.1f" %  ( float(Converter.__div__(self))))+chr(248)+'C' 
        

if __name__ == "__main__":
    a=MetreFeet(2.0)
    print a
    a.measure()
    b=FeetMetre(6.07)
    print b
    b.measure()
    c = MileKilometre(1)
    print c
    c.measure()
    d = KilometreMile(1)
    print d
    d.measure()
    e = YardMetre(3)
    print e
    e.measure()
    f = MetreYard(3.8)
    print f
    f.measure()
    g = PoundKilo(12.14)
    print g
    g.measure()
    h = KiloPound(5.890)
    print h
    h.measure()
    k = GallonLitre(2.22)
    print k
    k.measure()
    l = LitreGallon(5)
    print l
    l.measure()
    m = TemperatureD(-10)
    print m
    m.measure()
    n = TemperatureF(14)
    print n
    n.measure()
    
  ###############################################################
  
   
    
    
#c:\Python26>python "C:\Fouad Teniou\Documents\Programs\Converter5.py"

# <Converter : Operation of MetreFeet, to convert the value of (2.0)>

#                        Metre --> Feet

#                        2m 00cm = 6ft 7.in

# <Converter : Operation of FeetMetre, to convert the value of (6.07)>

#                        Feet --> Metre

#                        6ft 07in = 2m 00cm

# <Converter : Operation of MileKilometre, to convert the value of (1)>

#                        Mile --> KiloMetre

#                        1ml = 1.61Km

# <Converter : Operation of KilometreMile, to convert the value of (1)>

#                        Kilometre --> Mile

#                        1Km = 0.62ml

# <Converter : Operation of YardMetre, to convert the value of (3)>

#                        Yard --> Metre

#                        3yd = 2m 74cm

# <Converter : Operation of MetreYard, to convert the value of (3.8)>

#                        Metre --> Yard

#                        3m 80cm = 4.16yd

# <Converter : Operation of PoundKilo, to convert the value of (12.14)>

#                        Pound  --> Kilogram

#                        12lb 14oz = 5Kg 840g

# <Converter : Operation of KiloPound, to convert the value of (5.89)>

#                        Kilogram  --> Pound

#                        5Kg 890g = 12lb 16oz

# <Converter : Operation of GallonLitre, to convert the value of (2.22)>

#                        British and American Gallon --> Litre

#                        2.22(BR)gal = 2.66(AM)gal = 10l 10cl

# <Converter : Operation of LitreGallon, to convert the value of (5)>

#                        Litre --> British and American Gallon

#                        5l 00cl =  1.10(BR)gal = 1.32(AM)gal

# <Converter : Operation of TemperatureD, to convert the value of (-10)>

#                        Degree Celsius --> Fahrenheit

#                        -10°C = 14.0°F

# <Converter : Operation of TemperatureF, to convert the value of (14)>

#                        Fahrenheit --> Degree Celsius

#                        14°F = -10.0°C

History

  • revision 8 (15 years ago)
  • previous revisions are not available