Python入門習題----矩陣的乘法
阿新 • • 發佈:2018-12-15
【問題描述】
編寫程式,完成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=''
提交可通過: