python-矩阵交换行

[题目描述]

给定一个 5×5 的矩阵(数学上,一个 r×c 的矩阵是一个由 r 行 c 列元素排列成的矩形阵列),将第 n 行和第 m 行交换,输出交换后的结果。
输入:

输入共 6 行,前 5 行为矩阵的每一行元素,元素与元素之间以一个空格分开。

第 6 行包含两个整数 m、n,以一个空格分开(1≤m,n≤5)。
输出:

输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。
样例输入1

1 2 2 1 2

5 6 7 8 3

9 3 0 5 3

7 2 1 4 6

3 0 8 2 4

1 5

样例输出1

3 0 8 2 4

5 6 7 8 3

9 3 0 5 3

7 2 1 4 6

1 2 2 1 2

来源/分类(难度系数:一星
每日一题 数组

++完整代码展示:++

a=[]

for i in range(5):

b=list(map(int,input().split()))

a.append(b)

b,c=map(int,input().split())

d=a[b-1]

e=a[c-1]

for j in range(0,len(a)):

if j+1==b:

a[j]=e

elif j+1==c:

a[j]=d

f=0

while f<len(a):

sum=''

for k in range(0,len(a[f])):

sum+="{} ".format(str(a[f][k]))

print(sum)

f+=1

代码解释:

"a=[]
for i in range(5):
b=list(map(int,input().split()))
a.append(b)
",建立一个空列表a,循环5次:让用户输入一列数组,并将其储存在列表b中,再将b添加进a中。

"b,c=map(int,input().split()) ",让用户输入矩阵中需要交换的两个行列的位置。

"d=a[b-1]
e=a[c-1]
for j in range(0,len(a)):
if j+1==b:
a[j]=e
elif j+1==c:
a[j]=d
",分别将a[b-1]和a[c-1]赋给d和e,接着遍历a中元素,分别用e,d查找和替换符合条件的a[j]。

"f=0
while f<len(a):
sum=''
for k in range(0,len(a[f])):
sum+="{} ".format(str(a[f][k]))
print(sum)
f+=1
",令f为循环密码子,初始值为0,当f<len(a)时:建立一个空字符串sum,依次连接a[f]中的元素,连接结束后打印sum。每循环依次,就令f+1,直至f==len(a),跳出整个while循环。

++运行效果展示:++

++++

(声明:以上内容均为原创)

相关推荐
生成论实验室1 分钟前
《事件关系阴阳博弈动力学:识势应势之道》第二篇:阴阳博弈——认知的动力学基础
数据结构·人工智能·科技·神经网络·算法
We་ct30 分钟前
深度剖析浏览器跨域问题
开发语言·前端·浏览器·跨域·cors·同源·浏览器跨域
风筝在晴天搁浅30 分钟前
字节高频题 小于n的最大数
算法
LabVIEW开发32 分钟前
LabVIEW水力机组空蚀在线监测
算法·labview·labview知识·labview功能·labview程序
AI科技星38 分钟前
科幻艺术书本封面:《全域数学》第一部·数术本源 第三卷 代数原本(P95-141)完整五级目录【乖乖数学】
算法·机器学习·数学建模·数据挖掘·量子计算
skywalk816338 分钟前
在考虑双轨制,即在中文语法的基础上,加上数学公式的支持,这样像很多计算将更加简单方便,就像现在的小学数学课本里面一样,比如:定x=2*x + 1
开发语言
风筝在晴天搁浅40 分钟前
LeetCode 92.反转链表Ⅱ
算法·leetcode·链表
小书房41 分钟前
Kotlin的by
android·开发语言·kotlin·委托·by
gqk011 小时前
【无标题】
python
王老师青少年编程1 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【贪心与二分判定】:数列分段 Section II
c++·算法·贪心·csp·信奥赛·二分判定·数列分段 section ii