python实现转圈打印矩阵


Posted in Python onMarch 02, 2019

本文实例为大家分享了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))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
常见的python正则用法实例讲解
Jun 21 Python
python 循环遍历字典元素的简单方法
Sep 11 Python
Python实现的统计文章单词次数功能示例
Jul 08 Python
Django 模型类(models.py)的定义详解
Jul 19 Python
Python time库基本使用方法分析
Dec 13 Python
python读取图片的几种方式及图像宽和高的存储顺序
Feb 11 Python
python实现跨excel sheet复制代码实例
Mar 03 Python
完美解决jupyter由于无法import新包的问题
May 26 Python
Django如何批量创建Model
Sep 01 Python
Python模拟登录和登录跳转的参考示例
Oct 30 Python
python内置进制转换函数的操作
Jun 02 Python
Python 统计序列中元素的出现频度
Apr 26 Python
python实现顺时针打印矩阵
Mar 02 #Python
python实现二维数组的对角线遍历
Mar 02 #Python
python实现矩阵打印
Mar 02 #Python
python实现杨氏矩阵查找
Mar 02 #Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 #Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
Mar 01 #Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
Mar 01 #Python
You might like
php实现的返回数据格式化类实例
2014/09/22 PHP
Symfony模板的快捷变量用法实例
2016/03/17 PHP
PHP Cookie学习笔记
2016/08/23 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
jquery插件validate验证的小例子
2013/05/08 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
js实现一键复制功能
2017/03/16 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
2017/07/26 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
2018/05/03 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
Django rest framework实现分页的示例
2018/05/24 Python
python实现简单图片物体标注工具
2019/03/18 Python
Python日期时间Time模块实例详解
2019/04/15 Python
python进阶之自定义可迭代的类
2019/08/20 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
Python截图并保存的具体实例
2021/01/14 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
乌克兰在线药房:Аптека24
2019/10/30 全球购物
单位创先争优活动方案
2014/01/26 职场文书
优秀团队获奖感言
2014/02/19 职场文书
领导接待方案
2014/03/13 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
房地产财务经理岗位职责
2015/04/08 职场文书
酒会开场白大全
2015/06/01 职场文书
html粘性页脚的具体使用
2022/01/18 HTML / CSS
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python