python 矩阵乘法
地址:https://www.nowcoder.com/practice/ebe941260f8c4210aa8c17e99cbc663b?tpId=37&&tqId=21292&rp=1&ru=/ta/huawei&qru=/ta/huawei/question-ranking
1 # @Author :whyCai 2 # @Time :2021/6/6 11:31 3 4 ''' 5 描述 6 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的 7 8 矩阵的大小不超过100*100 9 输入描述: 10 输入包含多组数据,每组数据包含: 11 第一行包含一个正整数x,代表第一个矩阵的行数 12 第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数 13 第三行包含一个正整数z,代表第二个矩阵的列数 14 之后x行,每行y个整数,代表第一个矩阵的值 15 之后y行,每行z个整数,代表第二个矩阵的值 16 17 输出描述: 18 对于每组输入数据,输出x行,每行z个整数,代表两个矩阵相乘的结果 19 示例1 20 输入: 21 2 22 3 23 2 24 1 2 3 25 3 2 1 26 1 2 27 2 1 28 3 3 29 输出: 30 14 13 31 10 11 32 33 ''' 34 35 while(True): 36 try:x=int(input()) 37 except:break 38 y = int(input()) 39 z = int(input()) 40 xy = [] 41 yz = [] 42 res=[] 43 for i in range(x): 44 xyi = input().split() 45 xy.append([int(i) for i in xyi]) 46 for i in range(y): 47 yzi = input().split() 48 yz.append([int(i) for i in yzi]) 49 # print(xy) 50 # print(yz) 51 52 53 for i in range(x): 54 # sum =0 55 strRes = '' 56 for j in range(z): 57 sum = 0 58 for k in range(y): 59 sum +=xy[i][k] * yz[k][j] 60 res.append(sum) 61 # str = '' 62 for ii in res: 63 strRes += str(ii) +' ' 64 print(strRes) 65 res=[]