Chris wrote: > sin(pi*0.5) is what I expected, but I expected to get 0 for sin(pi).
Computers in general, and Python too, usually use floating point arithmetic in which all numbers are approximated by rational numbers of a particular form (see http://en.wikipedia.org/wiki/Floating_point for details). 1) pi is an irrational number, so it *cannot* be represented exactly in floating point. Therefore the value of pi in your call to the sin function is definitely, proveably, *not* exactly equal to the true value of pi. 2) So, even if the function "sin" could be evaluated exactly, the fact that you are not evaluating it exactly at the true value of pi, but instead at a good but imperfect approximation to this value, means that the sine function *should not* give the result = 0 for your request! 3) The function sin is also evaluated to only a finite degree of precision - just like everything else in floating point arithmetic. Therefore you should not expect absolutely precise results. Instead, you need to understand the limitations of floating point arithmetic, understand the precision you *can* expect, and work within these bounds. It's a good system, but you do need to understand its limitations. The links other people have posted are good resources for this. Best wishes, andy -- http://mail.python.org/mailman/listinfo/python-list