python输入一个自然数N (1<=N<=9) ,要求输出如下的魔方阵,即边长为2'N-1, N在中心出现- -次, 余位置上的数字从外向中心逐渐增大。 N=3时: 11111 12221 12321 12221 11111 从标准输入读取一个整数N。 向标准输出打印结果。输出符合要求的方阵,每个数字占-个字符宽度,在每-行末均输出-个回车符。
时间: 2024-01-21 12:17:06 浏览: 186
下面是代码实现:
```python
n = int(input())
# 构造空的魔方阵
matrix = [[0] * (2 * n - 1) for _ in range(2 * n - 1)]
# 填充魔方阵
for i in range(n):
for j in range(i, 2 * n - i - 1):
matrix[i][j] = matrix[2 * n - i - 2][j] = matrix[j][i] = matrix[j][2 * n - i - 2] = n - i
# 输出魔方阵
for row in matrix:
for num in row:
print(num, end=' ')
print()
```
输入示例:
```
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
```
阅读全文