我有一个非常奇怪的零分割错误。我有代码
from numpy import pi
cdef double a0 = 0.02
cdef double c = 2.998e8
cdef double me = 9e-31
cdef double s = 50.0
cdef L = 800e-9
cdef q = 1.602e-19
cdef double E1=(a0*c*me*s*L*sqrt(pi))/(q*(1.602*10**(-13))*sqrt(2.0)) #some code
然而它提供了一个
ZeroDivisionError: float division
尽管他们都是双打的事实。对于双数据类型,这些数字是太大还是小?我在python shell中测试了这个计算,没有错误。
提前感谢您的帮助和/或建议。
答案 0 :(得分:0)
2017-08-01
到
cdef double E1=(a0*c*me*s*L*sqrt(pi))/(q*(1.602*10**(-13))*sqrt(2.0)) #some code
即改变10到10.0