每行中的第一个非零元素

The first non-zero element in each row

import numpy as np
a=np.array([[0,0,0],
      [1,2,0],
      [0,2,1],
      [0,1,2],
      [2,1,3],
      [0,0,0]])
for i in range(6):
  for j in range(3):
    if a[i,j]!=0:
      print(i+1,'-th row,',j+1,'-th column','\nthe 1st non-zero element:',a[i,j],'\n---')
    break

enter image description here

我认为问题是由break引起的,但不知道如何处理。

提前致谢!

如果我没理解错的话,中断应该在里面 if 语句

if a[i,j]!=0:
      print(i+1,'-th row,',j+1,'-th column','\nthe 1st non-zero element:',a[i,j],'\n---')
      break

再次缩进 break。它目前只检查每行的第一项是零还是非零。

通过缩进 break,它只会在条件 a[i,j]!=0 变为 True 时停止搜索该行。