solution_073.py

#!/usr/bin/python3
# ==========================================================
# convert a float to a fraction
#
# Doc: docs.python.org/3/library/fractions.html
#      fractions — Rational numbers
# ==========================================================

import user_interface as ui
from fractions import Fraction


while True:

    print()
    s = ui.get_user_input('Enter a float: ')
    if not s: break

    tf,f = ui.is_float(s)
    if not tf:
        print()
        print(f'Input not a number ({s})')
        continue

    ff = Fraction(f)
    ##print(dir(ff))

    print()
    print(f'type(ff) is {type(ff)}')
    print(f'{s}         = {ff}')
    print(f'numerator   = {ff.numerator}')
    print(f'denominator = {ff.denominator}')
    print(f'limit       = {ff.limit_denominator()}')