蛇形矩阵python
时间: 2023-11-01 15:00:57 浏览: 71
蛇形矩阵是一种特殊的矩阵形式,其中数字按照蛇形填充到矩阵中。在Python中,我们可以使用numpy库来生成蛇形矩阵。首先,我们可以使用np.zeros()函数创建一个全零的矩阵,然后使用循环将数字按照蛇形填充到矩阵中。下面是一个生成蛇形矩阵的示例代码:
```python
import numpy as np
def generate_snake_matrix(n, m):
matrix = np.zeros((n, m), dtype=np.int16)
num = 1
row_start = 0
row_end = n - 1
col_start = 0
col_end = m - 1
while num <= n * m:
# 从左到右填充
for col in range(col_start, col_end + 1):
matrix[row_start][col] = num
num += 1
row_start += 1
# 从上到下填充
for row in range(row_start, row_end + 1):
matrix[row][col_end] = num
num += 1
col_end -= 1
# 从右到左填充
for col in range(col_end, col_start - 1, -1):
matrix[row_end][col] = num
num += 1
row_end -= 1
# 从下到上填充
for row in range(row_end, row_start - 1, -1):
matrix[row][col_start] = num
num += 1
col_start += 1
return matrix
# 示例调用
n = 4
m = 4
snake_matrix = generate_snake_matrix(n, m)
print(snake_matrix)
```