On Thursday, March 6, 2014 6:38:34 PM UTC-6, Chris Angelico wrote:

Once again, the problem occurs only because you're using a float
literal, and 2.01 can't perfectly round-trip.

>>> Decimal(2.01)
Decimal('2.0099999999999997868371792719699442386627197265625')

That's pretty much the value you had (I have a few more digits there,
the square rooting and squaring probably cost some accuracy), 

hi Chris,  yes,  you are completely missing the point. We are talking past
each other.  I  DO NOT need you to explain to me why the is working just
like its supposed to...      its broken and should not work this way !

If you write a number on paper do you write down   '2.01'   ?

Do you write down    d(2.01)  ?

Do you write down    2.01d   ?

(or)   do you write down   2.01     ?

When you punch a number into your TI89  do you punch in  {'} {2} {.} {0} {1} {'}   ?

(or)  do you punch in    {2} {.} {0} {1}   ?

When I want a square-root from python I want to enter    s1=sqrt(2.01)   <======   this is normal
(why?) glad you asked, because that is the human normal thing to do.

Python numbers don't work correctly, because the underlying design is not
correct. Everyone sees it, nobody really likes it, but everyone wants to avoid
the problem like the proverbial ostrich (only worse , because this ostrich 
wants me to believe that everything is fine, " Don't pay any attention to that 
man behind the current...  I... am the great and powerful OZ"

marcus