【问题描述】
给定一个n×m矩阵相乘,求它的转置。其中1≤n≤20,1≤m≤20,矩阵中的每个元素都在整数类型(4字节)的表示范围内。
【输入格式】
第一行两个整数n和m;
第二行起,每行m个整数,共n行,表示n×m的矩阵。数据之间都用一个空格分隔。
【输出格式】
共m行,每行n个整数,数据间用一个空格分隔,表示转置后的矩阵。
样例输入
2 4
34 76 -54 7
-4 5 23 9
样例输出
34 -4
76 5
-54 23
7 9
n, m = map(int, input().split()) # 输入一个n行m列的矩阵存入列表a中
a = []
for i in range(n):
list1 = list(map(int, input().split())) # 输入每一行存入一个列表
a.append(list1) # 将每一行添加到总列表中
# print(a)
b=[] # 用一个新列表存转置以后的二维数组
for i in range(m):
temp=[]
for j in range(n):
'''这种方法只能用在方阵'''
# print(a[j][i], end=' ') # 遍历转置输出二维数组
# print() # 注意print里面不需要写'n'啦 print内置函数里包含'n',写了会多换一行
temp.append(a[j][i])
b.append(temp)
# print(b)
# 遍历输出
for i in range(m): # 这里注意n和m不要写反了
for j in range(n):
print(b[i][j],end=' ')
print()
这道题蓝桥杯的运行只能得90分,第九个评测点会显示运行错误,系统的输入格式不正确,应该与代码的正误没有关系~



