Py输出螺旋式数字矩阵
时间: 2024-09-18 15:17:28 浏览: 38
Python实现螺旋矩阵的填充算法示例
在Python中,可以使用嵌套循环以及字符串连接的方式来创建螺旋式的数字矩阵。这里是一个简单的示例,展示如何生成一个从小到大的螺旋矩阵:
```python
def spiral_matrix(n):
# 初始化矩阵
matrix = [[0] * n for _ in range(n)]
top, bottom, left, right = 0, n - 1, 0, n - 1
while True:
# 从左上角开始写入数字
for i in range(left, right + 1):
matrix[top][i] = top * n + i
top += 1
if top > bottom: # 右边已填满
break
# 写入右列数字
for i in range(top, bottom + 1):
matrix[i][right] = (top - 1) * n + right
right -= 1
if left > right: # 左边已填满
break
# 写入下部数字
for i in range(right, left - 1, -1): # 注意是从右往左
matrix[bottom][i] = bottom * n + (right - 1)
bottom -= 1
if top >= bottom: # 上方已填满
break
# 最后一行,从左到右填充
for i in range(bottom, top, -1):
matrix[i][left] = (bottom - 1) * n + left
left += 1
return matrix
# 示例
n = 4
spiral = spiral_matrix(n)
for row in spiral:
print(row)
阅读全文