def fraction( n ):
'''
Convert fractional part of number to a decimal.
Only converts the _fractional_ component, ignoring the whole number.
'''
n_str = str( n )
print(len(n_str),n_str.find( '.' ))
decimal_part = len(n_str)-n_str.find( '.' )
# 1. Multiply by ten repeatedly (to make all of decimal greater than zero).
numer = n * 10 ** decimal_part
denom = 10 ** decimal_part
s=[]
for z in factor(numer):
for y in factor(denom):
if z==y:
s.append(z)
l=len(s)-1
nu=numer/s[l]
de=denom/s[l]
return nu,de
# 2. Find factors.
def factor(n):
i=0
s=[]
while i<n:
i=i+1
if n%i==0:
s.append(i)
return s
print(fraction(0.375))