Lo Shu Magic Square
The Lo Shu Magic Square is a grid with 3 rows and 3 columns, shown in figures below. The Lo Shu Magic Square has the following properties:
* The grid contains the numbers 1 through 9 exactly.
* The sum of each row, each column, and each diagonal all add up to the same number. This is shown in Figure B.
In a program you can stimulate a magic square using a two-dimensional list. Write a function that accepts a two-dimensional list as an argument and determines whether the list is a Lo Shu Magic Square. Test the function in a program.
Implementation: It MUST be coded using Python.
You will be allowed to work with up to THREE other students. Please make sure all group members submit the Final Project on Blackboard on time. I will pick on program at random to grade all groups. All names of group members should be on the top of your python files in the comment section. You can also work alone if you wish to do so. Please zip your file and follow the programming rubric I have provided for you in the past. If the file is not zipped with all names (initials) on the zip file, you will lose points. You MUST also turn in a video presenting your project. All group members must participate. Please make sure you explain your program in detail and also show the requirements in your presentation.
Figure A
4 9 2
3 5 7
8 1 6
15
15
15
15
Figure B
4 9 2
3 5 7
8 1 6
15 15 15 15
Requirements
* Must throw an exception. I should not be able to type in any a character or character key. It should prompt me to enter a number from 1-9.
* Input Validation: It should not let me enter in any number. It should ask you to enter a number from 1-9
* Your code should allow you to play again. You will need a loop.
* You should add a feature like a counter to track wins and lost. Turtle another feature showing you result.
* Add a new option. Allow me to choose option 1 prompt the user or option 2 setting the list. This required. Use an if elif.
* Please make sure you include instructions in your program.
* Your detailed Algorithm should include all for, if statements in the process, all function explanations. The input should consist of all explanations of input. Output should consist all the outputs in your program.
* Every line should consist of a comment use key words like Get, Ask, Prompt the user, and Calculate or Compute, and Display.