参考大佬做法
参考链接
if numerator%denominator == 0:return str(numerator//denominator)
res = []
# 负数&整数部分
if (numerator < 0)^(denominator<0):res.append('-') # 出现一个负数的情况
a,b = abs(numerator),abs(denominator)
res.append(a//b)
res.append('.')
# 有限小数
c = a%b
i = len(res)
d = {}
while c != 0 and c not in d:
d[c] = i
res.append(c*10//b)
c = c*10%b
i += 1
# 无限小数
if c != 0:
res.insert(d[c],'(')
res.append(')')
# 最终结果
return ''.join(map(str,res))


![[leetcode 10-3] 一、分数到小数 [leetcode 10-3] 一、分数到小数](http://www.mshxw.com/aiimages/31/287289.png)
