leetcode 分?jǐn)?shù)到小數(shù) python

游標(biāo)一定要記得在循環(huán)里不斷增加

class Solution(object):
    def fractionToDecimal(self, n, d):
        def sign(x):
            if x>0:
                return 1
            if x<0:
                return -1
            if x==0:
                return 0
        if d==0:
            return 'NaN'
        if n==0:
            return '0'
        isNeg=False
        if sign(n)*sign(d)==-1:
            d=d*sign(d)
            n=n*sign(n)
            isNeg=True
        res=n//d
        rem=n%d
        if rem == 0:
            return '-'+str(res) if isNeg else str(res)
        dec_str=''
        dict_rem={}
        dec_cur=0
        while rem!=0 and rem not in dict_rem:
            dict_rem[rem]=dec_cur
            dec_str+=str(rem*10//d)
            rem=rem*10%d
            dec_cur+=1
        if rem == 0:
            return ('-' if isNeg else '')+str(res)+'.'+dec_str
        return ('-' if isNeg else '')+str(res)+'.'+dec_str[:dict_rem[rem]]+'('+dec_str[dict_rem[rem]:]+')'
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容