classSolution(object):deffractionToDecimal(self,numerator,denominator):""" :type numerator: int :type denominator: int :rtype: str """flag=1ifnumerator*denominator<0:flag=-1numerator=abs(numerator)denominator=abs(denominator)before=numerator/denominatorremain=numerator-before*denominatorifremain==0:ifflag==1:returnstr(before)else:return'-'+str(before)else:after=[]remain_array=[remain]whileremain_array.count(remain)<2:ifremain==0:after=[str(x)forxinafter]ifflag==1:returnstr(before)+'.'+''.join(after)else:return'-'+str(before)+'.'+''.join(after)remain*=10quotient=remain/denominatorafter.append(quotient)remain-=quotient*denominatorremain_array.append(remain)loop=remain_array.index(remain)after=[str(x)forxinafter]ifflag==1:returnstr(before)+'.'+''.join(after[:loop])+'('+''.join(after[loop:len(after)])+')'ifflag==-1:return'-'+str(before)+'.'+''.join(after[:loop])+'('+''.join(after[loop:len(after)])+')'if__name__=="__main__":printSolution().fractionToDecimal(1,-6)
近期评论