The logic of your code is kind of messed up. Every function is returning a boolean and those first two are only running a single comparison before they return a value and stop running. They aren't actually looking at the whole matrix and what you are returning wouldn't really make sense even if they did. A good rule of thumb is to think of the assignment (=) operator as making a statement (You are the team leader.) and the equality (==) operator as asking a question (Are you the team leader?). You use that to check if values are equal, not to assert that they are.
If you say return x==y
all you will get is a boolean that tells you if those variables store the same value, and in the case of your loop they always will. This is because mat[0][0](the first element of mat[i][j]), will always equal mat[0][0] (the first element of mat[j][i]). What you want those first two functions to do is generate transposed and negative transposed matrices. Then your test function can test those matrices against your original and see if they are symmetric or skew. This works:
def isSymmetric(mat, N):
newmat = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
for i in range(N):
for j in range(N):
newmat[i][j] = mat[j][i]
return newmat
def isSkew(mat, N):
newmat = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
for i in range(N):
for j in range(N):
newmat[i][j] = -mat[j][i]
return newmat
def test(mat, N):
if isSymmetric(mat, N) == mat:
return 1
if isSkew(mat, N) == mat:
return -1
else:
return 0;
N = 3
mat = [[0, 1, -2], [-1, 0, 3], [2, -3, 0]]
print(test(mat, N))
>>> -1
N = 3
mat = [[1, 1, -1], [1, 2, 0], [-1, 0, 5]]
print(test(mat, N))
>>> 1
N = 3
mat = [[1, 1, -1], [11, 2, 0], [4, 9, 5]]
print(test(mat, N))
>>> 0