用python写一个螺旋矩阵的函数,可根据输入的数字,生成对应的阶数
时间: 2024-02-01 21:16:53 浏览: 23
下面是一个Python实现螺旋矩阵的函数:
```python
def spiral_matrix(n):
# 初始化矩阵
matrix = [[0 for _ in range(n)] for _ in range(n)]
# 定义边界
left, right, top, bottom = 0, n - 1, 0, n - 1
# 定义起始值和方向
num, direction = 1, 0
while left <= right and top <= bottom:
if direction == 0:
for i in range(left, right + 1):
matrix[top][i] = num
num += 1
top += 1
elif direction == 1:
for i in range(top, bottom + 1):
matrix[i][right] = num
num += 1
right -= 1
elif direction == 2:
for i in range(right, left - 1, -1):
matrix[bottom][i] = num
num += 1
bottom -= 1
elif direction == 3:
for i in range(bottom, top - 1, -1):
matrix[i][left] = num
num += 1
left += 1
# 更新方向
direction = (direction + 1) % 4
return matrix
```
这个函数使用了一个二维数组来存储矩阵,然后按照螺旋的顺序依次填充数字。函数的参数`n`表示需要生成的矩阵的阶数,返回值是一个二维数组,表示生成的螺旋矩阵。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)