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 回答