Advertisement
zodiak1

Untitled

May 6th, 2022
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. def input_matrix(n):
  2. matrix = []
  3.  
  4. for i in range(1, n + 1):
  5. row = []
  6. for j in range(1, n + 1):
  7. row.append(int(input("[%d, %d]: " % (i, j))))
  8.  
  9. matrix.append(row)
  10.  
  11. return matrix
  12.  
  13. def is_magic_square(matrix):
  14. n = len(matrix)
  15. sample_sum = 0
  16.  
  17. for i in range(n):
  18. sample_sum += matrix[0][i]
  19.  
  20. for i in range(n):
  21. row_sum, column_sum = 0, 0
  22.  
  23. for j in range(n):
  24. row_sum += matrix[i][j]
  25. column_sum += matrix[j][i]
  26.  
  27. if row_sum != sample_sum or column_sum != sample_sum:
  28. return False
  29.  
  30. return True
  31.  
  32. def print_matrix(matrix):
  33. for row in matrix:
  34. row_str = ""
  35.  
  36. for elem in row:
  37. row_str += '{:4}'.format(elem)
  38. print(row_str)
  39.  
  40. N = int(input("Введите порядок матрицы: "))
  41.  
  42. if N <= 0:
  43. print("Некорректные входные данные: указанный порядок матрицы <= 0.")
  44. else:
  45. matrix = input_matrix(N)
  46.  
  47. print("\nПостроенная матрица:")
  48. print_matrix(matrix)
  49.  
  50. is_magic_square(matrix)
  51.  
  52. print("Матрица является магическим квадратом." if is_magic_square(matrix) else "Матрица не является магическим квадратом.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement