所以我被困在嵌套循环中,我觉得我理解它们的时间大约有一半,然后我开始处理不同的问题,然后我就不再理解它们了。也许我把事情复杂化了。无论如何回到我的问题,我有一个单位矩阵
lst = [[1,0,0], [0,1,0], [0,0,1]]
我正在尝试编写一个程序来检查它是否是一个单位矩阵,所以我知道 i 和 j 的索引具有相同的索引(即 i 在位置 0 和 j 在位置 0;i 在位置 1和 j 在位置 1;i 在位置 2 和 j 在位置 2) 并且等于 1,则矩阵是单位矩阵。现在我的问题是我觉得我很难把它表达到电脑上。或者换句话说,lst[0][0], lst[1][1] and lst[2][2]
应该都等于 1,而所有其他值都应该等于 0。如果不给我答案,有人可能会把我推向正确的方向吗?我一直在尝试解决这个问题大约 2 周,现在我感到很沮丧,因为我做不到,因为它看起来很简单......
谢谢。
def identity(lst):
for i in lst:
for j in i:
if i == j and lst[i][j] == 1:
if i != j and lst[i][j] == 0:
return True
return False
我错了我哪里错了?
我想我明白了!!
def identity(lst):
size = len(lst)
for i in range(len(lst)):
if len(lst[i]) != size:
return False
for j in range(len(lst)):
if i == j and lst[i][j] != 1:
return False
elif i != j and lst[i][j] != 0:
return False
return True
打印 i 和 j:
for i in range(len(lst)):
for j in range(len(lst)):
print("i:", i, "j:", j)
导致:
i: 0 j: 0
i: 0 j: 1
i: 0 j: 2
i: 1 j: 0
i: 1 j: 1
i: 1 j: 2
i: 2 j: 0
i: 2 j: 1
i: 2 j: 2
这真的帮了我很多!