蛇形填数python
时间: 2023-11-17 13:02:35 浏览: 149
蛇形填数是一种在n*n的方阵内填入1,2,3,4…n*n的算法,要求填成蛇形(回旋的向中间收敛)。在Python中,可以使用二维数组来实现蛇形填数。具体实现方法可以参考以下代码:
```python
import numpy as np
# 创建一个n*n的二维数组
n = 5
data = np.zeros((n, n))
# 初始化坐标和数字
x, y = 0, n-1
num = 1
# 开始填数
while num <= n*n:
# 向右上方填数
while x >= 0 and y < n and data[x][y] == 0:
data[x][y] = num
num += 1
x -= 1
y += 1
x += 1
y -= 1
# 向左下方填数
while x < n and y >= 0 and data[x][y] == 0:
data[x][y] = num
num += 1
x += 1
y -= 1
x -= 1
y += 1
# 输出结果
for i in range(n):
for j in range(n):
print(int(data[i][j]), end='\t')
print()
```
该代码使用了numpy库创建了一个n*n的二维数组,并使用两个变量x和y来记录当前填数的位置。在填数的过程中,先向右上方填数,直到遇到边界或已经填过数的位置,然后再向左下方填数,直到遇到边界或已经填过数的位置。最后输出填好的二维数组即可。
阅读全文