5
limit_denominator(max_denominator=1000000)
Finds and returns the closest Fraction to self that has denominator at most max_denominator. This method is useful for finding rational approximations to a given floating-point number:
>>>
>>> from fractions import Fraction
>>> Fraction('3.1415926535897932').limit_denominator(1000)
Fraction(355, 113)
Es sollte nicht so etwas wie versuchen a/999, b/998, c/997 .. und finden Sie die besten Näherungswerte.Wie wird python's bruchs.limit_denominator implementiert?
Sieht aus wie eine binäre Suche, bei der x zwischen "bester unterer" und "bester oberer" Näherung gequetscht wird –