python请输入两个矩阵,用循环结构写矩阵点乘。例如有两个矩阵A和B,它们的维度分别为(m,n)和(n,p),矩阵点乘的结果C的维度为(m,p)。
时间: 2023-05-26 10:04:44 浏览: 44
# 输入矩阵A
m1, n1 = map(int, input("请输入矩阵A的行数和列数,用空格分开:").split())
A = []
for i in range(m1):
row = list(map(int, input("请输入矩阵A第%d行的%d个元素,用空格分开:" % (i+1, n1)).split()))
A.append(row)
# 输入矩阵B
m2, n2 = map(int, input("请输入矩阵B的行数和列数,用空格分开:").split())
B = []
for i in range(m2):
row = list(map(int, input("请输入矩阵B第%d行的%d个元素,用空格分开:" % (i+1, n2)).split()))
B.append(row)
if n1 != m2:
print("矩阵A的列数和矩阵B的行数不相等,无法进行点乘")
else:
# 矩阵点乘,结果保存在矩阵C中
C = []
for i in range(m1):
row = []
for j in range(n2):
elem = 0
for k in range(n1):
elem += A[i][k] * B[k][j]
row.append(elem)
C.append(row)
# 输出矩阵C
print("矩阵点乘的结果为:")
for i in range(m1):
for j in range(n2):
print(C[i][j], end=" ")
print()