遇到以下问题:

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

最佳答案

更改为此:

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


问题是numpy尝试在进行除法运算之前将long转换为numpy类型-但是numpy无法这样做,因为它会导致溢出,因此numpy会引发错误。如果先转换为long,则除法全部在numpy之外完成。

关于python - 在Python中遇到大量问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13775059/

10-12 21:05