。【课堂练习】蛇形填数,在nxn方阵里填入1,2,…,nxn,要求填成蛇形。例如,n=4时方阵为:为了美化效果,我们设置每个数宽度为4,填充符号为*。先输入n值,n≤10。。【样例输入】 。4 。【样例输出】 ***1***2***3***4**12**13**14***5**11**16**15***6**10***9***8***7
时间: 2023-07-12 20:06:42 浏览: 77
以下是 Python 代码实现:
```python
n = int(input()) # 输入 n
matrix = [[0] * n for _ in range(n)] # 初始化矩阵
num = 1 # 当前填充数字
x, y = 0, 0 # 当前填充位置
while num <= n * n:
# 向右填充
while y < n and matrix[x][y] == 0:
matrix[x][y] = num
num += 1
y += 1
y -= 1
x += 1
# 向下填充
while x < n and matrix[x][y] == 0:
matrix[x][y] = num
num += 1
x += 1
x -= 1
y -= 1
# 向左填充
while y >= 0 and matrix[x][y] == 0:
matrix[x][y] = num
num += 1
y -= 1
y += 1
x -= 1
# 向上填充
while x >= 0 and matrix[x][y] == 0:
matrix[x][y] = num
num += 1
x -= 1
x += 1
y += 1
# 输出结果
for i in range(n):
for j in range(n):
print(f"{matrix[i][j]:^4}", end="")
print()
```
其中,`matrix` 为一个二维列表,表示填充的矩阵,初始化为全 0。然后,从左上角开始填充数字,每次按照“向右、向下、向左、向上”的顺序填充。每填充一个数字,就将其对应位置的值改为该数字。最后,输出填充好的矩阵即可。
阅读全文