Python入门习题----矩阵的乘法

【问题描述】

编写程序,完成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=''

提交可通过:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值