Python编写程序,输入正整数n,计算并打印如下规律的蛇形矩阵(n*n,最大值n*n要在矩阵的右下角)。 输出的每个数左对齐,占5位宽。
时间: 2024-05-02 15:22:20 浏览: 109
好的,我知道你想要一个 Python 程序来计算并打印蛇形矩阵,以下是程序代码:
```python
n = int(input("请输入正整数n: "))
# 初始化矩阵
matrix = [[0 for i in range(n)] for j in range(n)]
# 定义初始值和方向
x, y = 0, 0
num = 1
direction = "right"
# 填充蛇形矩阵
for i in range(n*n):
matrix[y][x] = num
num += 1
# 根据方向改变坐标
if direction == "right":
if x == n - 1 or matrix[y][x+1] != 0:
direction = "down"
y += 1
else:
x += 1
elif direction == "down":
if y == n - 1 or matrix[y+1][x] != 0:
direction = "left"
x -= 1
else:
y += 1
elif direction == "left":
if x == 0 or matrix[y][x-1] != 0:
direction = "up"
y -= 1
else:
x -= 1
elif direction == "up":
if y == 0 or matrix[y-1][x] != 0:
direction = "right"
x += 1
else:
y -= 1
# 打印蛇形矩阵
for i in range(n):
for j in range(n):
print("{:5d}".format(matrix[i][j]), end="")
print()
```
以上程序会通过输入一个正整数 n,来计算并打印出如下规律的蛇形矩阵:
```
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
```
输出的每个数左对齐,占 5 位宽。
阅读全文