作者: 機械伯爵 | |
日時: 2009/8/13(23:05) |
えっと、オリジナルには書いておいたんですけど…… 「Python3.x系ではなく2.x系の人は、1/2を0.5にすればいいかと。」 よって、2.xで試す時は、 sol = lambda a,b,c:[(-b+k*(b*b-4*a*c)**(0.5))/(2*a) for k in (1,-1)] ^^^ にしてくださいね。 <理由> Python 2.x以前は int / int の答えはC言語のようにintになってしまうので、 1/2 => 1 になってしまいます。 Python 3.x以降は int / int => floatなので、1/2 => 0.5となります。 こうすれば、内包表記可能以降のverなら、十分に使える筈です。 /機械伯爵/ ※3.xでも0.5は使えるので、そーすればいいのですが、単位分数(分母が整数、 分子が1)を累乗してやると累乗根を扱えるとゆーことが書きたかったので……