python螺旋输出矩阵_Python实现打印螺旋矩阵功能的方法
本文实例讲述了Python实现打印螺旋矩阵功能的方法。分享给大家供大家参考,具体如下:
一、问题描述
输入N, 打印 N*N 螺旋矩阵
比如 N = 3,打印:
1 2 3
8 9 4
7 6 5
N = 4,打印:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
二、思路
常规法是不断的对数据边界进行判断会很复杂,不妨考虑通过递归的解决每一层的数字。
三、代码
#coding:utf-8
n = int(raw_input('>'))
#初始化数组
arr = [[0]*n for i in range(n)]
#递归解决
def dfs(arr, x, y, start, n):
if n<=0:return 0
if n==1:
arr[x][y] = start
return 0
#up
for i in range(n):
arr[x][y+i] = start
start += 1
#right
for i in range(n-1):
arr[x+1+i][y+n-1] = start
start += 1
#down
for i in range(n-1):
arr[x+n-1][y+n-2-i] = start
start += 1
#left
for i in range(n-2):
arr[x+n-2-i][y] = start
start += 1
dfs(arr,x+1,y+1,start,n-2)
a = dfs(arr,0,0,1,n)
#格式化输出print
l = len(str(n*n))+1
format = ('%'+str(l)+'d')*n
for tmp in arr:
print format%tuple(tmp)
运行结果:
希望本文所述对大家Python程序设计有所帮助。
python螺旋输出矩阵_Python实现打印螺旋矩阵功能的方法相关推荐
- python全盘搜索文件_python实现全盘扫描搜索功能的方法
由用户指定需要扫描的盘符或目录,输入需要查找的文件或者文件夹名称(不包含中文名称) 代码: # encoding=utf-8 import os.path import stat # 用python编 ...
- python花式输出_Python——花式打印对象的若干种方法
今天是Python专题的第10篇文章,咱们来聊聊Python当中的类.编程 打印实例 咱们先从类和对象当中最简单的打印输出开始讲起,打印一个实例是一个很是不起眼的应用,可是在实际的编程当中却很是重要. ...
- python实践输出星星_python中怎么打印星星
for循环: 1.有大括号与无大括号的区别: 循环体只能有一条语句, 如果需要执行的语句超过一条,就要加大括号将它们变为一条复合语句.//for循环如此,while循环也是如此. for(int i= ...
- python怎么输出文本_python输出语句怎么用
Python中输出语句是print语句 1.逗号分隔符 在Python中print语句可根据sys.stdout中包含的文件生成输出,它接受一个逗号分隔的对象表,如下实例:x = 1 y = 2 z ...
- python花式编码_Python——花式打印对象的若干种方法
今天是Python专题的第10篇文章,我们来聊聊Python当中的类. 打印实例 我们先从类和对象当中最简单的打印输出开始讲起,打印一个实例是一个非常不起眼的应用,但是在实际的编程当中却非常重要.原因 ...
- python怎么输出文字_python怎么输出汉字
看Python简明教程,学习使用print打印字符串,试了下打印中文,不行. 编辑环境:IDLE 上网搜了下解决办法,各种说法,试了两种:print u"学习" print (un ...
- python编程输出汉字_python如何输出汉字
python如何输出汉字 发布时间:2020-09-18 15:14:56 来源:亿速云 阅读:99 作者:小新 小编给大家分享一下python如何输出汉字,相信大部分人都还不怎么了解,因此分享这篇文 ...
- python怎么输出字符串_python出输出字符串方式:
python出输出字符串方式: >>> who='knights' >>> what='NI' >>> print ('we are the',w ...
- python怎么输出百分数_Python 如何输出百分比
Python 输出百分比的两种方式 注: 在python3环境下测试. 方式1:直接使用参数格式化:{:.2%} {:.2%}: 显示小数点后2位 显示小数点后2位: >>> pri ...
- python字符画图形_Python 实现打印单词的菱形字符图案
我就废话不多说了,还是直接看代码吧! a = [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1] b = [' ' * 2 * (7 - i) + 'Good' * i f ...
最新文章
- 保存一下dedecms数据库表和字段说明,方便日后查询
- JS DOM 对象
- html中input、label、form、textarea、select
- 使用tar或dd等完成Linux系统备份恢复
- Android-7.0-Nuplayer-启动流程
- IOS开发-jqeurey mobile
- bp神经网络预测案例python_详细BP神经网络预测算法及实现过程实例
- svm对未知数据的分类_SVM多分类之一对一与一对多
- 火车进出栈【卡特兰数】【高精度】【压位】【压int位】
- win10 桌面右键菜单内容修改
- 我被一只老鼠的吱吱声吵醒了
- 视频|《8问》浙江大学张宏鑫:边缘计算或许是区块链的福音
- 系统服务器可以关机吗,服务器每天关机可以吗
- 51单片机:流水灯蜂鸣器控制
- 植物叶片——丙二醛MDA
- html只选择年份,ant design vue 日期选择器只选择年份
- Java笔记——数据库05
- 为Jupyter Notebook添加Kernel(Win10+Ubuntu18.04)
- 关于THC/THC.h: No such file or directory解决办法
- 白鹭时代与html5关系,白鹭时代观点:HTML5行业将进入红利收割期