python实现转圈打印矩阵

作者:hotpotbo 时间:2022-10-28 09:23:20 

本文实例为大家分享了python实现转圈打印矩阵的具体代码,供大家参考,具体内容如下


#! conding:utf-8
__author__ = "hotpot"
__date__ = "2017/10/28 9:40"

def return_edge(matrix, start_col, end_col, start_row, end_row):
 if start_row == end_row:
   return matrix[start_row][start_col:end_col+1]
 elif end_col ==start_col:
   res = []

for i in range(start_row,end_row+1):
     res.append(matrix[i][end_col])
   return res
 else:
   res2 =[]
   res3 =[]
   res4=[]
   res1 = matrix[start_row][start_col:end_col+1]
   for i in range(start_row+1,end_row+1):
     res2.append(matrix[i][end_col])
   for i in range(end_col-1,start_col-1,-1):
     res3.append(matrix[end_row][i])
   for i in range(end_row-1,start_row,-1):
     res4.append(matrix[i][start_row])
   res1.extend(res2)
   res1.extend(res3)
   res1.extend(res4)
   return res1
def spiralOrder( matrix):
 if matrix:
   row = len(matrix)-1
   col = len(matrix[0])-1
   start_row = 0
   start_col = 0
   end_row = row
   end_col = col
   res =[]
   while start_col<=end_col and start_row <= end_row:
     res.extend(return_edge(matrix,start_col,end_col , start_row ,end_row))
     start_col+=1
     end_col-=1
     start_row+=1
     end_row-=1
   return res
 else:
   return matrix
if __name__ == '__main__':
 matrix = [[0 for i in range(3) ]for j in range(3)]
 num=1
 for m in range(len(matrix)):
   for n in range(len(matrix[0])):
     matrix[m][n]=num
     num+=1

print(spiralOrder( matrix))

来源:https://blog.csdn.net/hotpotbo/article/details/78374025

标签:python,打印矩阵
0
投稿

猜你喜欢

  • 通过MySQL内置全文检索实现中文的相关检索

    2010-06-11 13:20:00
  • js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)

    2024-04-18 09:51:29
  • python实现从文件中读取数据并绘制成 x y 轴图形的方法

    2023-04-09 22:43:41
  • python实现键盘输入的实操方法

    2022-07-25 19:18:25
  • Go语言中使用flag包对命令行进行参数解析的方法

    2024-02-15 00:45:09
  • MySQL安全性指南(3)(转)

    2024-01-21 23:46:07
  • javascript生成随机大小写字母的方法

    2024-04-30 09:53:33
  • 详解vue配置请求多个服务端解决方案

    2024-05-05 09:06:11
  • Perl实现的Linux下socket代理服务器

    2023-04-28 10:57:41
  • 关于xmlhttp乱码的解决方法

    2008-09-24 17:20:00
  • php 404错误页面实现代码

    2023-11-15 07:58:31
  • Thinkphp结合ajaxFileUpload实现ajax异步图片传输全套代码

    2023-06-14 04:01:53
  • python使用tcp传输图片数据

    2023-08-09 06:33:48
  • php+mysql开发的最简单在线题库(在线做题系统)完整案例

    2023-08-21 20:03:14
  • 如何在mac下配置python虚拟环境

    2023-06-16 18:09:37
  • Oracle9i 动态SGA,PGA特性探索

    2009-04-24 12:39:00
  • ASP.NET处理HTTP请求的流程:IHttpModule、IHttpHandler与管道事件

    2024-05-09 09:04:58
  • Python3标准库glob文件名模式匹配的问题

    2021-08-29 14:00:23
  • python中怎么表示空值

    2022-02-09 23:59:02
  • Python日志处理模块logging用法解析

    2021-01-05 14:45:55
  • asp之家 网络编程 m.aspxhome.com