栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Python】蓝桥杯-算法提高-矩阵转置

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Python】蓝桥杯-算法提高-矩阵转置

【问题描述】

  给定一个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分,第九个评测点会显示运行错误,系统的输入格式不正确,应该与代码的正误没有关系~

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1037113.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号