【问题描述】
编写程序,完成3*4矩阵和4*3整数矩阵的乘法,输出结果矩阵。
【输入形式】
以先行后列顺序输入第一个矩阵,而后输入第二个矩阵。
【输出形式】
先行后列顺序输出结果矩阵,每个元素的显示宽度为8格,屏幕一行只显示矩阵的一行。
例如要计算如下两个矩阵
第一个矩阵 1 2 3 4
5 6 7 8
9 1 2 3
第二个矩阵 9 8 7
6 5 4
3 2 1
1 2 3
输入与输出格式如下
【样例输入】
1 2 3 4 5 6 7 8 9 1 2 3 9 8 7 6 5 4 3 2 1 1 2 3
【样例输出】
34 32 30
110 100 90
96 87 78
参考代码:
# -*- coding: utf-8 -*-
"""
Created on Thu Sep 27 22:24:17 2018
@author: Dina
"""
import numpy as np
line = input().split()
# 把输入的值转换为 int类型
for i in range(len(line)):
line[i]=int(line[i])
# 定义列表
a,a1,a2,a3=[],[],[],[]
b,b1,b2,b3,b4=[],[],[],[],[]
c=[]
#------------------------- 给矩阵赋值 --------------------
for i in range(4):
a1.append(line[i])
a2.append(line[i+4])
a3.append(line[i+8])
for i in range(12,15):
b1.append(line[i])
b2.append(line[i+3])
b3.append(line[i+6])
b4.append(line[i+9])
a.append(a1)
a.append(a2)
a.append(a3)
b.append(b1)
b.append(b2)
b.append(b3)
b.append(b4)
c=np.dot(a, b) # 两个矩阵相乘
#------------------------- 打印出相乘后的矩阵 --------------------
re =''
for i in range(len(c)):
for j in range(3):
re +=format(str(c[i][j])," >8") #每个元素的显示宽度为8格,屏幕一行只显示矩阵的一行。
print(re)
re=''
提交可通过: