# Can anyone explain why I am getting none in output? this is the question from hackerrank (magic square number) please explain?

``````def formingMagicSquare(s):
pre = [
[[8, 1, 6], [3, 5, 7], [4, 9, 2]],
[[6, 1, 8], [7, 5, 3], [2, 9, 4]],
[[4, 9, 2], [3, 5, 7], [8, 1, 6]],
[[2, 9, 4], [7, 5, 3], [6, 1, 8]],
[[8, 3, 4], [1, 5, 9], [6, 7, 2]],
[[4, 3, 8], [9, 5, 1], [2, 7, 6]],
[[6, 7, 2], [1, 5, 9], [8, 3, 4]],
[[2, 7, 6], [9, 5, 1], [4, 3, 8]],
]

def evaluate(s):
totals = []
for p in pre:
total = 0
for p_row, s_row in zip(p, s):
for i, j in zip(p_row, s_row):
total += max([i, j]) - min([i, j])
totals.append(total)
return print(min(totals))
``````

the output of `print()` is `None` so you are returning `None`

I’ve edited your post for readability. When you enter a code block into a forum post, please precede it with a separate line of three backticks and follow it with a separate line of three backticks to make it easier to read.

You can also use the “preformatted text” tool in the editor (`</>`) to add backticks around text.

See this post to find the backtick on your keyboard.
Note: Backticks (`) are not single quotes (’).