Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem tổng của hàng thứ i và cột thứ i có giống nhau trong ma trận bằng Python hay không

Giả sử chúng ta có một ma trận 2D. Chúng ta phải kiểm tra xem tổng của hàng thứ i có giống với tổng của cột thứ i hay không.

Vì vậy, nếu đầu vào giống như

2
3
4
5
10
6
4
2
1
4
6
7
1
5
6
7

thì đầu ra sẽ là True, vì tổng của hàng và cột đầu tiên là (2 + 3 + 4 + 5) =14 và (2 + 10 + 1 + 1) =14.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • row:=số hàng của thảm
  • col:=số cột của thảm
  • total_row:=0, total_col:=0
  • đối với tôi trong phạm vi từ 0 đến hàng - 1, thực hiện
    • total_row:=0, total_col:=0
    • đối với j trong phạm vi 0 đến col - 1, thực hiện
      • total_row:=total_row + mat [i, j]
      • total_col:=total_col + mat [j, i]
    • nếu total_row giống với total_col, thì
      • trả về True
  • trả về Sai

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Mã mẫu

def solve(mat):
   row = len(mat)
   col = len(mat[0])
   total_row = 0
   total_col = 0
   for i in range(row):
      total_row = 0
      total_col = 0
      for j in range(col):
         total_row += mat[i][j]
         total_col += mat[j][i]
       
      if total_row == total_col:
         return True
     
   return False
 
matrix = [
   [2,3,4,5],
   [10,6,4,2],
   [1,4,6,7],
    [1,5,6,7]
]
     
print(solve(matrix))

Đầu vào

[    
[1,2,3,4],     

[9,5,3,1],     

[0,3,5,6],    

[0,4,5,6]

]

Đầu ra

True