用python numpy实现幻方
时间: 2024-05-25 07:06:01 浏览: 145
tiankui:使用python flask建造在leancloud上的个人网站,主要用来贴吧自动签到,自动收集帖子
幻方指的是一个N*N的矩阵,其中每个数都是不同的,并且所有行、所有列、两个对角线上的数之和都相等。下面是用python numpy实现3阶幻方的代码:
```python
import numpy as np
# 生成3*3的幻方
magic_square = np.zeros((3, 3), dtype=int)
# 初始化右上角的数字1
n = 1
i, j = 0, 1
# 填充幻方
while n <= 9:
magic_square[i, j] = n
n += 1
newi, newj = (i-1) % 3, (j+1) % 3
if magic_square[newi, newj]:
i += 1
else:
i, j = newi, newj
print(magic_square)
```
输出结果为:
```
[[8 1 6]
[3 5 7]
[4 9 2]]
```
阅读全文