python编写函数,计算两个矩阵的乘积。

'''
编写函数,计算两个矩阵的乘积。

'''


# 该函数用于把一维列表转换为二维列表
def strToMatrxi(ju):
    ############beigin###################################
    m1=list(ju.split(";"))
    matrix=[]
    for item in m1:
        tmp=[int(x) for x in item.split(',')]
        matrix.append(tmp)
    return matrix


    ############end###################################

# 定义矩阵相乘函数
def matrixMultiply(matrix1):
    ############beigin###################################
    def compute(list1,list2):
        return sum(list(map(lambda x: x[0]*x[1],zip(list1,list2))))
    def multiply(matrix2):
        transMatrix =list(map(list,zip(*matrix2)))
        result=[]
        for item1 in matrix1:
            row=[]
            for item2 in transMatrix:
                row.append(compute(item1,item2))
            result.append(row)
        return result
    return multiply
    ############end###################################

def main():
    '''
    矩阵的输入格式为行之间用分号分隔,列之间用逗号分隔
    三行三列矩阵输入格式为:1,2,3;3,4,5;5,6,7
    '''

    str1 =input("")
    str2 =input("")
    matrix1 =strToMatrxi(str1)
    matrix2 =strToMatrxi(str2)
    print(matrix1)
    print(matrix2)
    print("矩阵相乘后的运算结果为:")
    matrix3 =list(matrixMultiply(matrix1)(matrix2))
    print(matrix3)

main()

输入:
1,2,3;3,4,5;5,6,7
2,5,8;2,6,7;3,3,4
输出:
[[1, 2, 3], [3, 4, 5], [5, 6, 7]] [[2, 5, 8], [2, 6, 7], [3, 3, 4]] 矩阵相乘后的运算结果为: [[15, 26, 34], [29, 54, 72], [43, 82, 110]]

  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值