Oscar Benjamin <[email protected]> writes: > On 15 April 2016 at 10:24, Robin Becker <[email protected]> wrote: <snip> >> yes indeed summation is hard :( > > Not with Fraction it isn't: > > from fractions import Fraction > > def exact_sum(nums): > return sum(map(Fraction, nums)) > > This will give you the exact result with precisely zero rounding > error. You can convert it to float at the end.
Just a word of warning for people new to numerical work: there's no rounding error, but unless you start with Fraction objects you still have input or conversion errors. The uninitiated might expect exact_sum([0.3, 0.7]) to be 1. -- Ben. -- https://mail.python.org/mailman/listinfo/python-list
