zoukankan      html  css  js  c++  java
  • python_矩阵的加法和乘法计算(包括矩阵的动态输入,纯列表实现不引入其他模块)

    # 6-16
    def matrixSum():
        print "要进行矩阵加法,行列数必须相同"
        M=[]
        N=[]
        res1 = createMat(M,'M')
        res2 = createMat(N,'N')
        print M
        print N
        row_m = res1[0]
        column_m = res1[1]
        row_n = res2[0]
        column_n = res2[1]
        if row_n!=row_m or column_n!=column_m:
            print '行列数不相等!'
            return ERROR
        row = row_m
        column = column_m
        sumres = copy.copy(M)
        for i in range(row):
            for j in range(column):
                sumres[i][j] = M[i][j]+N[i][j]
        print 'M+N = '
        print sumres
        return None
    
    def matriixMultiply():
        print "要进行矩阵乘法,M的列数必须与N的行数相同"
        M=[]
        N=[]
        res1 = createMat(M,'M')
        res2 = createMat(N,'N')
        row_m = res1[0]
        row_n = res2[0]
        column_m = res1[1]
        column_n = res2[1]
        if column_m != row_n:
            print 'M的列数与N的行数不相等!'
            return ERROR
        print 'M:',M
        print 'N:',N
        multiplyres = []
        for i in range(row_m):
            rowlist = [0]*column_n
            multiplyres.append(rowlist)
        for m in range(column_n):
            for i in range(row_m):
                for j in range(column_m):
                    multiplyres[i][m] += M[i][j]*N[j][m]        
        #很关键 multiplyres的行数=row_m,列数=column_n,column_n有可能大于row_m
    
        print 'M*N = '
        print multiplyres
        return None
    
    def createMat(mat,name):
        print '输入%s的行数和列数' % name
        row,column = raw_input('行数:'),raw_input('列数:')
        row = int(row)
        column = int(column)
        for i in range(row):
            rowlist = []
            for j in range(column):
                print '输入%s矩阵第%d行第%d个数' % (name,i+1,j+1)
                rowlist.append(int(raw_input()))
            mat.append(rowlist)
        return row,column        
    

     运行结果

  • 相关阅读:
    Github作为图床的一个小坑
    OVS 精确删除流表
    Mininet入门与实战 3.9参课记录
    python自定义mininet拓扑
    RYU 灭龙战 fourth day (2)
    RYU 灭龙战 fourth day (1)
    01-NLP-01-原理与基础
    人脸识别face_detection
    5-3tensorboard网络结构及运行
    10-3验证码识别+10.4测试
  • 原文地址:https://www.cnblogs.com/AHappyBird/p/9415649.html
Copyright © 2011-2022 走看看