关于矩阵倒置中的错误

描述:

输入一个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])) 

posted @ 2020-01-18 11:05  盐亭的森林  阅读(171)  评论(0编辑  收藏  举报