Created
April 26, 2014 11:20
-
-
Save tnedev/11317541 to your computer and use it in GitHub Desktop.
Magic Square
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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