Skip to content

Instantly share code, notes, and snippets.

@tnedev
Created April 26, 2014 11:20
Show Gist options
  • Save tnedev/11317541 to your computer and use it in GitHub Desktop.
Save tnedev/11317541 to your computer and use it in GitHub Desktop.
Magic Square
import math
def magic_square(matrix):
magic_addition = []
addition = 0
counter = 0
counter2 = 0
power = len(matrix)
for item in matrix:
for element in item:
addition+=element
magic_addition.append(addition)
addition = 0
while counter < power:
while counter2<power:
addition+=matrix[counter2][counter]
counter2+=1
magic_addition.append(addition)
addition = 0
counter2=0
counter+=1
counter = 0
addition = 0
while counter<power:
addition += matrix[counter][counter]
counter+=1
magic_addition.append(addition)
counter = 0
counter2 = power - 1
addition = 0
while counter<power:
addition += matrix[counter][counter2]
counter2-=1
counter+=1
magic_addition.append(addition)
counter = 0
addition = 0
for element in magic_addition:
addition+=element
counter+=1
if addition/counter == magic_addition[0]:
return True
else:
return False
def take_input():
inputMatrix = input("Input matix: ")
inputMatrix = inputMatrix.split('],[')
matrix = []
cleanInput = []
for item in inputMatrix:
item = item.strip('[]')
item = item.replace('[','')
item = item.replace(']','')
item = item.replace(' ','')
item = item.split(',')
cleanInput.append(item)
counter = 0
counter2 = 0
counter3 = 0
power = math.sqrt(len(cleanInput[0]))
loopMatrix=[]
while counter<power:
while counter2<power:
loopMatrix.append(int(cleanInput[0][counter3]))
counter2+=1
counter3+=1
matrix.append(loopMatrix)
loopMatrix=[]
counter2=0
counter+=1
return matrix
matrix = take_input()
print(magic_square(matrix))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment