python判断上/下三角矩阵

问题遇到的现象和发生背景

用python判断上/下三角矩阵,希望在源代码的基础上修改,谢谢

用代码块功能插入代码,请勿粘贴截图

T = int(input())
for i in range(T):
n = int(input())
a = []
u = l = 0
for row in range(n):
x = input().split()
X = list(map(int,x))
a.append(X)
if X[row+1:n+1].count(0) == n-row-1 and X[row+1:n] != [] and X[row]!= 0:
l += 1
elif X[0:row].count(0) == row and X[0:row] != [] and X[row]!=0:
u +=1
if u==n-1 and l != n-1:
print('upper triangular matrix')
elif l==n-1 and u != n-1:
print('lower triangular matrix')
else:
print('no')

运行结果及报错内容

代码能跑,但是存在漏洞

我的解答思路和尝试过的方法

想用count函数找0的个数,判断是否符合上/下三角矩阵的结果

我想要达到的结果

能够输入多个矩阵,并同时判断它们是上三角矩阵还是下三角矩阵,或者都不是。

img