Python实现螺旋矩阵
1,什么是螺旋矩阵?
类似:
1
1 2
4 3
1 2 3
8 9 4
7 6 5
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
2,如何去打印出这个螺旋矩阵?
以4* 4 矩阵为例:
第一:打印上面一层
1 2 3 4
第二:打印右边一层
1 2 3 4
5
6
7
第三:打印下边一层
1 2 3 4
5
6
10 9 8 7
第四:打印左边一层
1 2 3 4
12 5
11 6
10 9 8 7
这样一圈就打印好了,然后重复上述步骤进行第二层的打印。
3,python 代码实现
#!/usr/bin/env python # -*- encoding: utf-8 -*- ''' @File :Spiralmatrix.py @Description : Your input is 1 1 Your input is 2 1 2 4 3 Your input is 3 1 2 3 8 9 4 7 6 5 Your input is 4: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 @CreatTime :2020/08/27 13:56:03 @Author :Yunhgu @Version :1.0 ''' def Spiralmatrix(Dimension): # 定义一个二维矩阵 array_lists = [[0 for j in range(Dimension)] for i in range(Dimension)] # 定义开始的值 num = 1 # 开始螺旋赋值 for i in range(Dimension//2+1): # 0 1 2 # 上边赋值 for j in range(i, Dimension-i): array_lists[i][j] = num num += 1 # 右边赋值 for j in range(i+1, Dimension-i): array_lists[j][Dimension-i-1] = num num += 1 # 下边赋值 for j in range(Dimension-i-2, i, -1): array_lists[Dimension-i-1][j] = num num += 1 # 左边赋值 for j in range(Dimension-i-1, i, -1): array_lists[j][i] = num num += 1 # 打印结果 for i in array_lists: for j in i: print(j, end='\t') print() if __name__ == "__main__": num = int(input('please input num: ')) Spiralmatrix(num)
不论你在什么时候开始,重要的是开始之后就不要停止。
不论你在什么时候结束,重要的是结束之后就不要悔恨。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了