Tim Peters added the comment: @pacosta, if Mark's answer is too abstract, here's a complete session showing that the result you got for gcd(2.7, 107.3) is in fact exactly correct:
>>> import fractions >>> f1 = fractions.Fraction(2.7) >>> f2 = fractions.Fraction(107.3) >>> f1 Fraction(3039929748475085, 1125899906842624) # the true value of "2.7" >>> f2 Fraction(7550566250263347, 70368744177664) # the true value of "107.3" >>> fractions.gcd(f1, f2) # computed exactly with rational arithmetic Fraction(1, 1125899906842624) >>> float(_) 8.881784197001252e-16 But this will be surprising to most people, and probably useless to all people. For that reason, passing non-integers to gcd() is simply a Bad Idea ;-) ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue21712> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com