On Mon, 1 Jan 2007, Dick Moores wrote: > bestFracForMinimumError() is only a small part of a program I wrote > long ago, called frac.py
Dick, if your goal is to have a routine to get the fraction with the least possible error (as opposed to learing how to use Decimal), have a look at this recipe from the Python Cookbook: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52317 > dec = .345765988765560057657654654 > me = .0000000001 > num, denom, error = bestFracForMinimumError(dec, me) > print "%f = %d/%d with %f per cent error" % (dec, num, denom, error) The parameters are different from yours, but as I understand it, your equivalent is: >>> dec = .345765988765560057657654654 >>> me = .0000000001 >>> max_denom = 1/me >>> (num, denom) = farey(dec,max_denom) >>> error = abs((num/denom) - dec) *100 >>> print "%f = %d/%d with %f per cent error" % (dec, num, denom, error) 0.345766 = 40258524/116432863 with 0.000000 per cent error >>> _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor