Approximates a fraction from a decimal value and a specified tolerance.
from math import * def dec_to_frac(dec, tol=0.001): for i in range(1,1000): num = i*dec if (num%1.0 <= tol): return (str(floor(num))+"/"+str(i)+" + "+str(num%1.0)) if (1-(num%1.0) <= tol): return (str(ceil(num))+"/"+str(i)+" - "+str(1-(num%1.0))) return "no solution"