关于矩阵倒置中的错误
描述:
输入一个3*3的矩阵,输出其倒置矩阵
错误代码:
def tanslate():
lis=[]
for i in (1,2,3):
lis.extend([list(map(int,input().strip().split()))]) #输入3*3的矩阵
for i in range(0,len(lis)):
for j in range(0,len(lis[i])):
lis[i][j],lis[j][i]=lis[j][i],lis[i][j] #交换对称位置的数据
return lis
分析:
for j in range(0,len(lis[i]))
: 实际上是从(0,0)到(2,2)每一个数据都和对称位置的数据交换,但是例如当循环到(0,1)和(1,0)交换以此, 当循环到(1,0)和(0,)交换以此,实际上交换两次后矩阵又恢复了,
修改:
故应当修改为: for j in range(i+1,len(lis[i]))