网络编程
位置:首页>> 网络编程>> Python编程>> python实现转圈打印矩阵

python实现转圈打印矩阵

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

标签:python,打印矩阵

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

0
投稿

猜你喜欢

  • 面对不断成长的用户,跟随用户的脚步齐步向前,做引起共鸣的改变,去除低龄化的设计,用成熟稳重的心态面对用户。QQBanner自2006 年推出
  • PHP mysqli_stmt_init() 函数初始化声明并返回 mysqli_stmt_prepare() 使用的对象:<?php
  • 1.打开 database/migrations/2014_10_12_000000_create_users_table.php 这个 m
  • Go pongo2 教程展示了如何使用 pongo2 模板引擎在 Golang 中使用模板。模板引擎是一个库,旨在将模板与数据结合起来以生成
  • 下面的各种屏蔽网页鼠标或键盘的代码都是我以前收集的,挺实用的,防一般的访客还是很有用的。1.禁止鼠标选中捕捉网页文字图片等元素在<bo
  • composer更新依赖包compoesr 的 require/update 都可以更新指定的依赖包 (升级 / 降级)。require 更
  • 阅读上一篇:打造设计你自己的字体 ⅠMyFonts.com上销售的字体总数已经超过55,000个。现有字体的巨大数量表明了一个事实:我们在设
  • 本文列举了兼容 IE 和 FF 的换行 CSS 推荐样式,详细介绍了word-wrap同word-break的区别。兼容 IE 和 FF 的
  • 在之前的一篇文章我们介绍了《如何向PHP数组中头部和尾部添加元素》既然有添加元素,那么就有删除元素,今天这篇文章详细介绍如何删除数组中的头部
  • 在我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验、净化和转换时,将会面临很大
  • 偶写的几个ASP字符串处理函数,用于文章分页的小玩意函数名:StrLen作  用:取得字符串长度(汉字为2)参 
  • 我们一般采用photoshop等做图工具制作电视扫描线效果图片:首先做一个黑白相间的图案,然后用这个图案进行填充,再调整图层的模式或者透明度
  • 经常会在连接DB的时候用到,就是不知道代表什么意思。。。RS.OPEN SQL,CONN,A,BA: ADOPENFORWARDONLY(=
  • 注:此处“重复”非完全重复,意为某字段数据重复HZT表结构IDintTitlenvarchar(50)AddDatedatetime数据一.
  • 鼠标经过超链时的提示图层源码运行代码框<script>var oPopup = window.createPopup();fun
  • 1.样式的重用性CSS布局的网页最大的特点就是样式的可重用性,利用class选择符重复将某个样式属性多次在网页中使用,以减少不断定义样式属性
  • 我不知道有多少人在使用浏览器的书签,这东东有时候实在是很有用的,比如现在说到的jQuerify书签。jQuerify书签的功能很简单,那就是
  • php的命名空间功能已经出来很久了,但是一直以来没怎么深究过,这次赶着有时间所以特意翻着手册做一个整理和总结帮助自己完善完善,原本准备一篇写
  • 代码如下:'文字水印 Function WordWatermark(ImagePath) Dim&nb
  • 由于多种原因,进行安全设置的人们常常不理解数据的真正价值,所以,他们也无法对数据进行合适的保护。将你的数据只限于需要的人访问,并保证访问的人
手机版 网络编程 asp之家 www.aspxhome.com