用Python实现请输入两个矩阵,用循环结构写矩阵点乘。例如有两个矩阵A和B,它们的维度分别为(m,n)和(n,p),矩阵点乘的结果C的维度为(m,p)
时间: 2023-05-27 12:03:00 浏览: 93
```python
m1, n1 = map(int, input("请输入矩阵A的行数和列数,以空格隔开:").split())
m2, n2 = map(int, input("请输入矩阵B的行数和列数,以空格隔开:").split())
if n1 != m2:
print("矩阵A的列数和矩阵B的行数不等,无法进行点乘!")
else:
# 初始化矩阵A和B
print("请输入矩阵A:")
matrixA = []
for i in range(m1):
row = list(map(int, input().split()))
matrixA.append(row)
print("请输入矩阵B:")
matrixB = []
for i in range(m2):
row = list(map(int, input().split()))
matrixB.append(row)
# 矩阵点乘
matrixC = []
for i in range(m1):
row = []
for j in range(n2):
num = 0
for k in range(n1):
num += matrixA[i][k] * matrixB[k][j]
row.append(num)
matrixC.append(row)
# 输出结果
print("矩阵点乘结果为:\n")
for i in range(m1):
for j in range(n2):
print(matrixC[i][j], end=" ")
print()
```
**输出示例:**
```
请输入矩阵A的行数和列数,以空格隔开:2 3
请输入矩阵B的行数和列数,以空格隔开:3 4
请输入矩阵A:
1 2 3
4 5 6
请输入矩阵B:
7 8 9 10
11 12 13 14
15 16 17 18
矩阵点乘结果为:
74 80 86 92
173 188 203 218
```
阅读全文