利用python 完成 leetcode 166 分数到小数

给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。

如果小数部分为循环小数,则将循环的部分括在括号内。

示例 1:

输入: numerator = 1, denominator = 2
输出: “0.5”
示例 2:

输入: numerator = 2, denominator = 1
输出: “2”
示例 3:

输入: numerator = 2, denominator = 3
输出: “0.(6)”
思路
数组l储存结果,为了方便计算,
当numerator 否则numerator=numerator %denominator
l.append(numerator //denominator )
用字典q储存每个对应numerator 除以 denominator 的结果q[numerator]=numerator //denominator
当当前numerator 已在字典中出现过时,表示已经有一段循环了,将这一段用括号括起来

代码

def fractionToDecimal(self, numerator, denominator):
        if(numerator<0 and denominator<0):numerator,denominator=-numerator,-denominator
        u=(numerator<0)^(denominator<0)
        a=abs(numerator)
        b=abs(denominator)
        a=a%b
        if(a==0):return str(numerator//denominator)
        s=str(abs(numerator)//b)+'.'#计算整数部分
        q={}
        l=[]
        while(a

你可能感兴趣的:(leetcode,leetcode,中等)