def snake_matrix(n): matrix = [[0] * n for _ in range(n)] # 创建一个空的 n x n 矩阵 num = 1 # 从1开始填充矩阵 for i in range(n): if i % 2 == 0: for j in range(i+1): matrix[i-j][j] = num num += 1 else: for j in range(i+1): matrix[j][i-j] = num num += 1 return matrix
时间: 2024-02-14 19:30:54 浏览: 24
这是一个函数,名为`snake_matrix`,它接受一个参数`n`,用于确定矩阵的大小为 n x n。函数首先创建一个空的 n x n 矩阵,然后从1开始填充这个矩阵。
接下来,函数使用一个循环来遍历矩阵的每一行。如果当前行的索引是偶数,就从左上角开始向右下角填充数字;如果当前行的索引是奇数,就从左下角开始向右上角填充数字。每填充一个数字,就将`num`增加1。最后,函数返回填充完毕的矩阵。
这个函数实现了一个蛇形矩阵的生成算法,它将数字按照蛇形的方式填充到矩阵中。
相关问题
给你一个整数n,输出n∗n的蛇形矩阵。
好的,我理解了你的问题。以下是 Python 代码实现,用于输出 n*n 的蛇形矩阵:
```python
def print_snake_matrix(n):
matrix = [[0] * n for i in range(n)]
num = 1
for i in range(n):
if i % 2 == 0:
for j in range(n):
matrix[i][j] = num
num += 1
else:
for j in range(n-1, -1, -1):
matrix[i][j] = num
num += 1
for i in range(n):
for j in range(n):
print(matrix[i][j], end=' ')
print()
# 示例输出
print_snake_matrix(4)
# 输出:
# 1 2 3 4
# 8 7 6 5
# 9 10 11 12
# 16 15 14 13
```
希望这可以帮到你!
用python写出m*n的蛇形矩阵,多种方式
方法一:使用二维列表
```python
def snake_matrix(m, n):
matrix = [[0] * n for _ in range(m)]
num = 1
for i in range(m):
if i % 2 == 0:
for j in range(n):
matrix[i][j] = num
num += 1
else:
for j in range(n - 1, -1, -1):
matrix[i][j] = num
num += 1
return matrix
```
方法二:使用一维列表
```python
def snake_matrix(m, n):
matrix = [0] * (m * n)
num = 1
for i in range(m):
if i % 2 == 0:
for j in range(n):
matrix[i * n + j] = num
num += 1
else:
for j in range(n - 1, -1, -1):
matrix[i * n + j] = num
num += 1
return [matrix[i * n:(i + 1) * n] for i in range(m)]
```
方法三:使用numpy数组
```python
import numpy as np
def snake_matrix(m, n):
matrix = np.zeros((m, n), dtype=int)
num = 1
for i in range(m):
if i % 2 == 0:
for j in range(n):
matrix[i][j] = num
num += 1
else:
for j in range(n - 1, -1, -1):
matrix[i][j] = num
num += 1
return matrix
```
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)