[题目描述]
输入两个 n 行 m 列的矩阵 A 和 B ,输出它们的和 A+B。矩阵加法的规则是两个矩阵中对应位置的值进行加和,具体参照样例。
输入:
输入共 2⋅n+1 行,第一行包含两个整数 n 和 m,表示矩阵的行数和列数 (1≤n,m≤100) 。
接下来 n 行,每行 m 个整数,表示矩阵 A 的元素。再接下来 n 行,每行 m 个整数,表示矩阵 B 的元素。相邻两个整数之间用单个空格隔开,每个元素均在 1∼1000 之间。
输出:
输出共 n 行,每行 m 个整数,表示矩阵加法的结果,相邻两个整数之间用单个空格隔开。
样例输入1
3 3
1 2 3
1 2 3
1 2 3
1 2 3
4 5 6
7 8 9
样例输出1
2 4 6
5 7 9
8 10 12
提示:
对于100%的数据,保证1≤n,m≤100。
来源/分类(难度系数:一星)
完整代码展示:
a,b=map(int,input().split())
c=[]
d=[]
for i in range(a):
e=list(map(int,input().split()))
c.append(e)
for j in range(a):
f=list(map(int,input().split()))
d.append(f)
for l in range(0,a):
for m in range(0,b):
c[l][m]=c[l][m]+d[l][m]
g=0
while g<a:
sum=''
for n in range(0,b):
sum+="{} ".format(c[g][n])
print(sum)
g+=1
代码解释:
“a,b=map(int,input().split())
c=[]
d=[] ”,让用户输入两个矩阵的行数和列数。建立两个空列表c,d。
“for i in range(a):
e=list(map(int,input().split()))
c.append(e) ”,建立一个列表e,用于储存第一个矩阵中每一行的元素,并将其添加进列表c中,重复以上操作a次。
“for j in range(a):
f=list(map(int,input().split()))
d.append(f) ”,建立一个列表f,用于储存第二个矩阵中每一行的元素,并将其添加进列表d中,重复以上操作a次。
“for l in range(0,a):
for m in range(0,b):
c[l][m]=c[l][m]+d[l][m] ”,遍历列表c中所有元素,并将其中的每一个元素替换为同一位置列表c和列表d的元素的总和。
“g=0
while g<a:
sum=''
for n in range(0,b):
sum+="{} ".format(c[g][n])
print(sum)
g+=1 ”,设置循环密码子为g,当g<a时,每循环一次:建立一个空字符串sum,sum依次连接列表c中每一行中的元素,并在每两个元素之间插入一个空格,最后打印sum,令g+1。直至g==a,跳出整个while循环。
运行效果展示:
(声明:以上内容均为原创)