Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 避免零位错误_Python_Zero_Divide By Zero - Fatal编程技术网

Python 避免零位错误

Python 避免零位错误,python,zero,divide-by-zero,Python,Zero,Divide By Zero,我正在写一个代码,为参数k和l的不同值寻找多项式的根。除了参数等于零时,此代码工作正常 我的方法是将零偏移到一个较小的数字(如下所示),但这有缺点 xlist = np.linspace(-n_steps*step_size,near_0,n_steps+1) xlist=np.append(xlist,np.linspace(step_size,n_steps*step_size,n_steps)) ylist = np.linspace(-n_steps*step_size,near_0,n

我正在写一个代码,为参数k和l的不同值寻找多项式的根。除了参数等于零时,此代码工作正常

我的方法是将零偏移到一个较小的数字(如下所示),但这有缺点

xlist = np.linspace(-n_steps*step_size,near_0,n_steps+1)
xlist=np.append(xlist,np.linspace(step_size,n_steps*step_size,n_steps))
ylist = np.linspace(-n_steps*step_size,near_0,n_steps+1)
ylist=np.append(ylist,np.linspace(step_size,n_steps*step_size,n_steps))

for k_i,k in enumerate(xlist):
    for l_i,l in enumerate(ylist):
        p=[1,-1j*w*k,l**2/(k**2+l**2)*(1-1/R),-l**2/(k**2+l**2)*w*1j*k]
        roots=np.roots(p)
当参数为零时,避免计算的不同方法的优缺点是什么?k=0或l=0时的答案并不重要。我想最好的方法是当k或l为0时不运行计算

感谢您提供的帮助。

您可以:

xlist = np.linspace(-n_steps*step_size,near_0,n_steps+1)
xlist=np.append(xlist,np.linspace(step_size,n_steps*step_size,n_steps))
ylist = np.linspace(-n_steps*step_size,near_0,n_steps+1)
ylist=np.append(ylist,np.linspace(step_size,n_steps*step_size,n_steps))

for k_i,k in enumerate(xlist):
    for l_i,l in enumerate(ylist):
        if k == 0 or l == 0:  # Just continue!
            continue

        p=[1,-1j*w*k,l**2/(k**2+l**2)*(1-1/R),-l**2/(k**2+l**2)*w*1j*k]
        roots=np.roots(p)

希尔伯特正在进行他的重力测量,除了
ZeroDivisionError
似乎是合理的,不是吗?那么希尔伯特会建议@touchmyboomboom做什么呢