Python编写程序,输入正整数n,打印如下规律的蛇形矩阵(n*n,最大值n*n要在矩阵的右下角)。 输出的每个数左对齐,占5位宽。
时间: 2024-05-02 14:23:07 浏览: 217
以蛇形图案打印矩阵的Python程序
好的,让我来为您解答这个问题。以下是 Python 程序代码:
```
n = int(input("请输入一个正整数n:"))
matrix = [[0] * n for i in range(n)]
x, y = 0, 0 # x,y为当前打印的位置
dx, dy = 0, 1 # dx,dy为当前方向,初始方向向右
for i in range(n * n):
matrix[x][y] = i + 1
nx, ny = x + dx, y + dy # nx,ny为下一个位置
if 0 <= nx < n and 0 <= ny < n and matrix[nx][ny] == 0:
x, y = nx, ny
else:
# 改变方向
dx, dy = dy, -dx # 将方向向右旋转90度
x, y = x + dx, y + dy
# 打印蛇形矩阵
for i in range(n):
for j in range(n):
print('{0:<5}'.format(matrix[i][j]), end="")
print()
```
输入正整数n后,程序首先创建一个n * n的零矩阵。然后,通过模拟蛇形打印的过程,将1到n * n的数字填充到矩阵中。最后,按照要求格式打印出蛇形矩阵。希望这个程序能够帮到您!
阅读全文