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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!