遇到问题:
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
答案 0 :(得分:3)
将其更改为:
(math.factorial(365)/math.factorial(365-j))/long(365**j)
问题是numpy
尝试在执行除法之前将long转换为numpy类型 - 但是numpy不能这样做,因为它会导致溢出,所以numpy会抛出错误。如果您先转换为long
,则除法均在numpy
之外完成。