报错如下:
TypeError: ufunc 'bitwise_and' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
我这里是优先级的问题
原代码:
if (data[i][j]!=1 & data[i][j]!=-1):
首先评估 1 & data[i][j],data[i][j]不能正常转成int类型,然后就会报错
当我把这行代码改成:
if (data[i][j]!=1 & 1!=-1):
还是可以跑起来的,但跑不出我想要的结果
我这边,正确的改法,是通过()强制将比较放在第一位
也就是这个样子:
if ((data[i][j]!=1) & (data[i][j]!=-1)):
或者改成用and连接:
if (data[i][j]!=1 and data[i][j]!=-1):
都是ok的