1

次の問題が発生します。

from pylab import *
x=arange(0,365,1)
y = []
for j in x:
    y.append(1-((math.factorial(365)/math.factorial(365-j))/(365**j)))

plot(x,y)
show()

何かご意見は?私はpython 2.7を実行しています

4

1 に答える 1

3

これを次のように変更します。

(math.factorial(365)/math.factorial(365-j))/long(365**j)

問題はnumpy、除算を行う前に long を numpy 型に変換しようとすることです。ただし、オーバーフローが発生するため、numpy はそれを行うことができず、numpy はエラーをスローします。最初に変換するとlong、除算はすべて の外で行われnumpyます。

于 2012-12-08T06:25:22.130 に答える