Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.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
如果条件不能计算多个“值”;“真的”;s-Python_Python_Numpy - Fatal编程技术网

如果条件不能计算多个“值”;“真的”;s-Python

如果条件不能计算多个“值”;“真的”;s-Python,python,numpy,Python,Numpy,我有一个名为BNodeVal的3D numpy数组。目前它的大小是(1,1,16),但它可以比这个大。我正在尝试使用此3D数组和3个坐标来评估if条件coord_x,coord_y,coord_z BNodeVal=[[[0.1.15.0.0.13.4 1.77 15.9 1.77 37.391 1.03 40.931 39.161 0.5402 0.0.]]] 下面是代码中工作不正常的部分: for j in range(int(np.amax(BNodeval[i, :, 1]))):

我有一个名为
BNodeVal
的3D numpy数组。目前它的大小是
(1,1,16)
,但它可以比这个大。我正在尝试使用此3D数组和3个坐标来评估
if
条件
coord_x,coord_y,coord_z

BNodeVal=[[[0.1.15.0.0.13.4 1.77 15.9
1.77 37.391 1.03 40.931 39.161 0.5402 0.0.]]]

下面是代码中工作不正常的部分:

for j in range(int(np.amax(BNodeval[i, :, 1]))):
    print("x = ", coord_x, "\ny =", coord_y, "\nz =", coord_z)
    print("3 = ", BNodeval[i][j][2], "\n4 =", BNodeval[i][j][3], "\n5 =", BNodeval[i][j][4])
    print(np.isclose(coord_x, BNodeval[i][j][2]))
    print(np.isclose(coord_y, BNodeval[i][j][3]))
    print(np.isclose(coord_z, BNodeval[i][j][4]))

    if np.isclose(coord_x, BNodeval[i][j][2]) and \
       np.isclose(coord_y, BNodeval[i][j][3]) and \
       np.isclose(coord_x, BNodeval[i][j][4]) :  # 1 - 1
        print("# 1 - 1")
    else:
        print('# 1 - 2")
这是它正在打印的内容:

x =  15.0 
y = 0.0 
z = 0.0
3 =  15.0 
4 = 0.0 
5 = 0.0
True
True
True
# 1 - 2

但是,如果我只使用
np.isclose
术语中的一个,它就可以正常工作,并打印
#1-2
。如有任何建议,我们将不胜感激

最后一次测试是错误的。您正在打印:

print(np.isclose(coord_z, BNodeval[i][j][4]))
但是测试:

np.isclose(coord_x, BNodeval[i][j][4])
                 ^ should be z

但是您在实际的
if
语句之前重置了
BNodeval
。谢谢,但在我看来,这不是命名变量的最佳方式。谢谢你的建议,我现在正在编辑变量。谢谢,我不知道我怎么会错过这个。