Comment detail
分数を小数に展開 (Nested Flatten)This comment is reply for 179 shn: 素直に書いたらこんなのになりました・・・(分数を小数に展開). Go to thread root.
あー、denominatorが使われるのは1回だけだから 名前を付け替える必要はなかったか…。
divmod なんてあるんすねぇ。
divじゃなくて、numの2回目で跳ねないと 1 / 191とかで間違えますぜ
>>> fraction_to_decimal(3,14)
'0.{214}'
となってしまうので、remindsは必要だと思います。
ああっ、確かにそうですね。 うっかりしてました。
どこかおかしいですよ。
Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> def fraction_to_decimal(numerator, denominator):
... result = []
... num = numerator * 10
... den = denominator
... while num:
... div, num = divmod(num, den)
... if div in result:
... # repeating
... idx = result.index(div)
... return "0.%s{%s}" % (
... "".join(str(x) for x in result[:idx]),
... "".join(str(x) for x in result[idx:]))
... result.append(div)
... num *= 10
... return "0." + "".join(str(x) for x in result)
...
>>> fraction_to_decimal(3,8)
'0.375'
>>> fraction_to_decimal(3,14)
'0.{214}'





にしお
#183()
[
Python
]
Rating0/0=0.00
Rating0/0=0.00-0+