Cho hai ma trận nhập từ người dùng. Nhiệm vụ hiển thị phép nhân hai ma trận. Dùng nested list comprehension.
Thuật toán
Bước 1: Nhập hai ma trận. Bước 2: Nested for loops lặp qua từng hàng và cột. Bước 3: Ma trận kết quả ban đầu toàn 0. Nhân từng phần tử hàng ma trận 1 với cột ma trận 2, cộng các tích. Đó là giá trị ma trận kết quả.
Ví dụ mã
# Chương trình nhân hai ma trận
A = []
n = int(input("Enter N for N x N matrix: "))
print("Enter the element ::>")
for i in range(n):
row = []
for j in range(n):
row.append(int(input()))
A.append(row)
print(A)
print("Display Array In Matrix Form")
for i in range(n):
for j in range(n):
print(A[i][j], end=" ")
print()
B = []
n = int(input("Enter N for N x N matrix: "))
print("Enter the element ::>")
for i in range(n):
row = []
for j in range(n):
row.append(int(input()))
B.append(row)
print(B)
print("Display Array In Matrix Form")
for i in range(n):
for j in range(n):
print(B[i][j], end=" ")
print()
result = [[0,0,0], [0,0,0], [0,0,0]]
for i in range(len(A)):
for j in range(len(B[0])):
for k in range(len(B)):
result[i][j] += A[i][k] * B[k][j]
print("The Resultant Matrix Is ::>")
for r in result:
print(r)
Kết quả
Enter N for N x N matrix: 3 Enter the element ::> 2 1 4 2 1 2 3 4 3 [[2, 1, 4], [2, 1, 2], [3, 4, 3]] Display Array In Matrix Form 2 1 4 2 1 2 3 4 3 Enter N for N x N matrix: 3 Enter the element ::> 1 2 3 4 5 6 7 8 9 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] Display Array In Matrix Form 1 2 3 4 5 6 7 8 9 The Resultant Matrix Is ::> [34, 41, 48] [20, 25, 30] [40, 50, 60]