学习记录与分享
PTA教学平台
题目
设计一个Python函数,计算两个矩阵(二维列表)的乘积。
函数接口定义
def multiply(a,b,p,q,r)
a是一个p行q列的二维列表;b是一个q行r列的二维列表; 应返回矩阵p行r列的结果矩阵。
判断测试样例:
p = int(input())
q = int(input())r = int(input())a = [[random.randint(0,10) for x in range(q)] for y in range(p)]b = [[random.randint(0,10) for x in range(r)] for y in range(q)]c = multiply(a,b,p,q,r) #调用执行读者写的函数rst = True#由出题者书写的正确函数计算返回的标准答案answerTypical = multiply1(a,b,p,q,r)for i in range(p): for j in range(r): if c[i][j] != answerTypical[i][j]: rst = False breakprint(rst)#测试程序的正确输出True
测试程序输入样例:
3
2
1
输出样例
True
答案
import random
def multiply(a,b,p,q,r):
Ljc = [[random.randint(0,0) for x in range(r)] for y in range(p)]
k=0
while k!=r:
for i in range(p):
dd=0
for j in range(q):
dd+=a[i][j]*b[j][k]
Ljc[i][k]=dd
k+=1
return Ljc
解析
未完待续