Quoting the Python manual:
Note that due to the usual issues with binary floating-point (see Floating Point Arithmetic: Issues and Limitations), the argument to Fraction(1.1) is not exactly equal to 11/10, and so Fraction(1.1) does not return Fraction(11, 10) as one might expect.
The suggested treatment for a case when you know the numerator and denominator must be small is to limit the denominator. Here is an example:
from math import sqrt
from fractions import Fraction
a, b, c = 5, -13, 6
disc = b * b - 4 * a * c
s1 = Fraction(((-b + sqrt(disc))/(2*a)))
s2 = Fraction(((-b - sqrt(disc))/(2*a)))
print (s1, s2)
s1, s2 = s1.limit_denominator (), s2.limit_denominator ()
print (s1, s2)
The first one prints the fraction you mentioned, the second one gives 3/5.