任务描述 本关任务:编写一个程序,能输出如图数字回转方阵。 相关知识 n 阶数字回转方阵是将数字 1 置于方阵的左上角,然后从 1 开始递增,将 n2 个整数填写到 n 阶方阵中,偶数层从第 1 行开始,先向下再折转向左,奇数层从第 1 列开始先向右再折转向上,呈首尾相接。 编程要求 根据提示,在右侧编辑器补充代码。
时间: 2025-09-16 07:49:38 AIGC 浏览: 2
以下是实现输出 `n` 阶数字回转方阵的 Python 代码:
```python
def generate_rotating_matrix(n):
matrix = [[0] * n for _ in range(n)]
value = 1
layer = 0
while value <= n * n:
if layer % 2 == 0: # 偶数层
# 先向下
for i in range(layer, n - layer):
matrix[i][layer] = value
value += 1
# 再向左
for j in range(layer + 1, n - layer):
matrix[n - layer - 1][j] = value
value += 1
else: # 奇数层
# 先向右
for j in range(layer, n - layer):
matrix[layer][j] = value
value += 1
# 再向上
for i in range(layer + 1, n - layer):
matrix[i][n - layer - 1] = value
value += 1
layer += 1
return matrix
def print_matrix(matrix):
n = len(matrix)
for i in range(n):
for j in range(n):
print(f"{matrix[i][j]:4d}", end="")
print()
n = 5
result = generate_rotating_matrix(n)
print_matrix(result)
```
### 代码解释
这段代码定义了两个函数,`generate_rotating_matrix` 函数用于生成 `n` 阶数字回转方阵,`print_matrix` 函数用于打印生成的方阵。在 `generate_rotating_matrix` 函数中,通过循环控制层数,根据层数的奇偶性决定填充方向。偶数层先向下再向左填充,奇数层先向右再向上填充,直到填充完所有元素。最后调用 `print_matrix` 函数将生成的方阵打印出来。
阅读全文
相关推荐




















