GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Beginning-Python-Visualization/Chapter07/src/magicsq.py at master · freephys/Beginning-Python-Visualization

Expand file tree

/

magicsq.py

Copy path
More file actions
More file actions

Latest commit

 

History

History
History
22 lines (18 loc) · 597 Bytes
/

magicsq.py

Copy path

File metadata and controls

22 lines (18 loc) · 597 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from pylab import *
def magicsq(n=3):
"""Returns a magic square of size n; n must be odd"""
if n % 2 != 1:
raise ValueError, "Magic(n) requires n to be odd"
m, row, col = zeros([n, n]), 0, n/2
for num in xrange(1, n**2+1):
m[row, col] = num # fill the cell
col = (col+1) % n
row = (row-1) % n
if m[row, col]:
col = (col-1) % n
row = (row+2) % n
return m
def testmagicsq(m):
"""Returns True if m is a magic square."""
msum = sum(m[0, :])
return all(m.sum(0) == msum) and all(m.sum(1) == msum)
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.