3.使用矩阵装载并输出可大可小的正方形图案,最外层为第一层,要求每层上的数字与层数相同 例如: 输入层数为1 矩阵为: 1 1 1 1 输入层数为2: 矩阵为: 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 输入层数为3: 矩阵为: 1 1 1 1 1 1 1 2 2 2 2 1 1 2 3 3 2 1 1 2 3 3 2 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 1 2 3 3 3 3 2 1 1 2 3 4 4 3 2 1 1 2 3 4 4 3 2 1 1 2 3 3 3 3 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1
时间: 2023-08-31 17:05:41 浏览: 64
以下是代码实现:
```python
def print_square_matrix(n):
# 创建一个 n*n 的矩阵,初始值都为 1
matrix = [[1 for i in range(n)] for j in range(n)]
num = 2 # 第二层开始数字从 2 开始递增
for layer in range(1, n): # 从第二层开始循环
# 填充当前层的右侧列
for i in range(layer, n-layer):
matrix[i][n-layer-1] = num
num += 1
# 填充当前层的下方行
for j in range(layer, n-layer):
matrix[n-layer-1][j] = num
num += 1
# 填充当前层的左侧列
for i in range(n-layer-1, layer-1, -1):
matrix[i][layer-1] = num
num += 1
# 填充当前层的上方行
for j in range(n-layer-1, layer-1, -1):
matrix[layer-1][j] = num
num += 1
# 输出矩阵
for row in matrix:
print(" ".join(str(num) for num in row))
```
使用示例:
```python
>>> print_square_matrix(1)
1 1 1 1
>>> print_square_matrix(2)
1 1 1 1
1 2 2 1
1 2 2 1
1 1 1 1
>>> print_square_matrix(3)
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
1 1 1 1 1
1 2 2 2 2
1 2 3 3 2
1 2 3 3 2
1 2 2 2 2
1 1 1 1 1
```
阅读全文