Question: CAN SOMEONE SOLVE THIS PROGRAM IN PYTHON? A magic square is an n by n grid of numbers in which the entries in each row,
CAN SOMEONE SOLVE THIS PROGRAM IN PYTHON?
A magic square is an n by n grid of numbers in which the entries in each row, column, and two main diagonals each add up to the same number. An example of a 4x4 magic square is:
Magic Square of size 4 8 11 14 1 13 2 7 12 3 16 9 6 10 5 4 15
This is a magic square, because each of the four rows add up to 34 (8+11+14+1 = 13+2+7+12 = 3+16+9+6 = 10+5+4+15 = 34), each of the four columns add up to 34 (8+13+3+10 = 11+2+16+5 = 14+7+9+4 = +12+6+15 = 34), and each of the two main diagonals add up to 34 (8+2+9+15 = 10+16+7+1 = 34).
There is a simple method for constructing a magic square for any odd value of n:
- Make a blank n by n grid. We need to populate it with the integers from 1 to n2.
-Set i to 1.
-Set the current grid position to the location in the middle of the top row.
-Insert the number i into the current grid position.
-If i is equal to n2, we're done.
-If i is a multiple of n, move the current grid position down one (i.e., in the direction of "south" on a map). Otherwise, move the current grid position diagonally up and right (i.e., in a "northeast" direction on a map), wrapping to the first column or last row if the move leads outside the grid.
-Increment i by 1.
-Return to step 4.
In this assignment, you will create a class of MagicSquare objects, and print out magic squares with sides 1, 3, 5, 7, 9, 11, and 13.
-The class MagicSquare should have two properties:
sideLength, an integer representing how many numbers are in each row and column of the magic square.
grid, a two-dimensional list of size sideLength by sideLength representing the contents of the magic square.
-The class MagicSquare should have two methods:
__init__(), which takes as an argument an integer side representing the value for the new object's sideLength. __init__ should create the two-dimensional list grid and initially populate it with zeroes. __init__ should then use the algorithm described above to replace the zeroes in grid with the integers from 1 to sides2.
-display(), which prints out a MagicSquare object. It should print out each number in a field of size 5, right-justified, similar to the example above. It should also print a blank line after the magic square.
-Create a main program that uses a loop to print the seven magic squares listed above, each preceded by the title, "Magic Square of size ", followed by the corresponding value for side. Leave a blank line between the title and the magic square. See the example above.
Note: be sure to use the algorithm above to create the magic square.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
