Question: 
Write a function to calculate magic square.


Model's Code:
def magic_square_test(square):
    n = len(square)
    magic_sum = n * (n * n + 1) // 2
    
    # Check rows and columns
    for i in range(n):
        if sum(square[i]) != magic_sum or sum(square[j][i] for j in range(n)) != magic_sum:
            return False
    
    # Check diagonals
    if sum(square[i][i] for i in range(n)) != magic_sum or sum(square[i][n - 1 - i] for i in range(n)) != magic_sum:
        return False
    
    return True



Sample Correct Code:
def magic_square_test(my_matrix):
    iSize = len(my_matrix[0])
    sum_list = []
    sum_list.extend([sum (lines) for lines in my_matrix])   
    for col in range(iSize):
        sum_list.append(sum(row[col] for row in my_matrix))
    result1 = 0
    for i in range(0,iSize):
        result1 +=my_matrix[i][i]
    sum_list.append(result1)      
    result2 = 0
    for i in range(iSize-1,-1,-1):
        result2 +=my_matrix[i][i]
    sum_list.append(result2)
    if len(set(sum_list))>1:
        return False
    return True


Asserts:
assert magic_square_test([[7, 12, 1, 14], [2, 13, 8, 11], [16, 3, 10, 5], [9, 6, 15, 4]])==True
assert magic_square_test([[2, 7, 6], [9, 5, 1], [4, 3, 8]])==True
assert magic_square_test([[2, 7, 6], [9, 5, 1], [4, 3, 7]])==False


Tests:
Test 1 of 3: PASS
Test 2 of 3: PASS
Test 3 of 3: PASS

Test 129 of 974: 96/129 (74.4186046511628%): success