> >  >>> mytri = Triangle()
> >  >>> mytri.C.degrees
> >  90
> >  >>> mytri.C.radians
> >  1.5707963267948966
> 
> Well that looks simple, elegant, and straightforward enough for my
> purposes.
> 
> 
> Is there a simple elegant and straightforward way to implement this API in
> Python that I am missing?  I know better than to assume that I don't miss
> the obvious when it comes to this stuff.
> 
> Art
> 
> 

 >>> class Angle (object):

        def __init__(self, thevalue):
                self.value = float(thevalue)

        @property
        def degrees(self):
                return self.value

        @property
        def radians(self):
                return math.radians(self.value)

 >>> class Triangle (object):

        def __init__(self, A=30, B=60, C=90):
                self.A = Angle(A)
                self.B = Angle(B)
                self.C = Angle(C)

                

        
 >>> mytri = Triangle()
 >>> mytri.C.degrees
 90.0
 >>> mytri.C.radians
 1.5707963267948966
 >>> mytri.A.degrees
 30.0
 >>> mytri.A.radians
 0.52359877559829882

Kirby


_______________________________________________
Edu-sig mailing list
[email protected]
http://mail.python.org/mailman/listinfo/edu-sig

Reply via email to