iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现打印螺旋矩阵功能的方法
  • 419
分享到

Python实现打印螺旋矩阵功能的方法

矩阵螺旋功能 2022-06-04 19:06:42 419人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

本文实例讲述了python实现打印螺旋矩阵功能的方法。分享给大家供大家参考,具体如下: 一、问题描述 输入N, 打印 N*N 螺旋矩阵 比如 N = 3,打印: 1 2 3 8 9 4 7 6 5 N

本文实例讲述了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函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

--结束END--

本文标题: Python实现打印螺旋矩阵功能的方法

本文链接: https://www.lsjlt.com/news/15960.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java编程如何实现打印螺旋矩阵
    这篇文章主要介绍了Java编程如何实现打印螺旋矩阵,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,...
    99+
    2023-05-30
    java
  • 如何利用Python实现n*n螺旋矩阵
    目录实现代码:运行结果:附:python 简单实现螺旋矩阵总结3*3螺旋矩阵: 1 2 3 8 9 4 7 6  5 实现代码: def spiral(n): ma...
    99+
    2024-04-02
  • python入门turtle库实现螺旋曲线图的方法示例
    记录turtle库中经常用到的函数。 turtle.forward(distance)  画笔向前移动distance距离 turtle.backforward(d...
    99+
    2024-04-02
  • vue打印功能实现的两种方法总结
    第一种方法:通过npm 安装插件 1,安装 npm install vue-print-nb --save 2,引入 安装好以后在main.js文件中引入 import...
    99+
    2024-04-02
  • java如何实现打印机的打印功能
    要实现打印机的打印功能,可以使用Java中的打印机相关的API。以下是一个简单的示例代码:```javaimport javax.p...
    99+
    2023-09-01
    java
  • 前端实现打印功能的两种方法详解
    目录前言方法一:window.print()   方法二:利用iframe,iframe.contentWindow.print()补充:导出步骤总结:前言 前端...
    99+
    2023-01-06
    前端实现打印功能 前端打印语句 前端打印功能实现
  • R语言创建矩阵的实现方法
    矩阵 向量vector用于描述一维数据,是R语言中最基础的数据结构形式 矩阵matrix可以描述二维数据,和向量相似,其内部元素可以是实数、复数、字符、逻辑型数据 矩阵...
    99+
    2024-04-02
  • 快速计算矩阵逆的方法 - Numpy实现
    Numpy是Python中著名的科学计算库,为处理大型多维数组和矩阵提供了丰富的功能和高效的计算方法。在数据科学和机器学习领域,矩阵的逆运算是一项常见的任务。在本文中,我将介绍使用Numpy库快速求解矩阵逆的方法,并提供具体的代...
    99+
    2024-01-24
    Numpy 求解 逆阵
  • 通过变换矩阵怎么实现canvas的缩放功能
    本篇文章为大家展示了通过变换矩阵怎么实现canvas的缩放功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。第一步就是监听鼠标的滚轮事件,在滚轮事件中根据鼠标的滚动以及基于前一次的变换,重新设置co...
    99+
    2023-06-09
  • NumPy 打包 Python 编程算法:如何实现高效的矩阵运算?
    NumPy 是 Python 编程中非常重要的一个库,它能够帮助我们实现高效的矩阵运算。本文将为大家介绍 NumPy 的基本使用方法,以及如何用 NumPy 实现高效的矩阵运算。 一、NumPy 简介 NumPy 是 Python 编程中非...
    99+
    2023-06-30
    打包 numy 编程算法
  • vue打印浏览器页面功能的两种实现方法
    目录方法一:通过npm 安装插件方法二:手动下载插件到本地总结推荐使用方法二 方法一:通过npm 安装插件 1,安装 npm install vue-print-nb --save...
    99+
    2023-05-15
    vue实现打印预览功能 vue实现打印预览功能 vue 打印预览
  • Python实现两种稀疏矩阵的最小二乘法
    目录最小二乘法返回值测试最小二乘法 scipy.sparse.linalg实现了两种稀疏矩阵最小二乘法lsqr和lsmr,前者是经典算法,后者来自斯坦福优化实验室,据称可以比lsqr...
    99+
    2023-02-26
    Python稀疏矩阵最小二乘法 Python稀疏矩阵 Python 最小二乘法
  • 如何进行Flex4打印功能的实现
    如何进行Flex4打印功能的实现,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Flex4打印功能和Silverlight4打印功能步骤很相似,但是实现不同,Flex4的打印功能...
    99+
    2023-06-17
  • java实现稀疏矩阵的压缩与解压的方法
    目录任务要求思路分析稀疏矩阵的压缩稀疏矩阵的解压代码实现任务要求 把棋盘当作一个稀疏矩阵,0表示没棋,1表示黑棋,2表示蓝棋。 把该稀疏矩阵压缩以三元组形式表示并以文件形式保存,再写...
    99+
    2024-04-02
  • C# BitArray(点矩阵)转换成int和string的方法实现
    BitArray的基础可以看菜鸟编程 BitArray 类管理一个紧凑型的位值数组,它使用布尔值来表示,其中 true 表示位是开启的(1),false 表示位是关闭的(0)。 当您...
    99+
    2024-04-02
  • php如何实现Web页面的打印功能
    这篇文章主要讲解了“php如何实现Web页面的打印功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何实现Web页面的打印功能”吧!下面,我们先简单介绍一下能够实现打印功能的基本知识...
    99+
    2023-07-05
  • php怎么实现Web页面的打印功能
    PHP 打印功能实现的步骤和技巧 在 Web 开发的过程中,打印功能是相当重要的一种需求。相信大家都遇到过需要从网页中打印出某些内容的情况,比如收据、报告、合同等。本文将介绍如何使用 PHP 实现 Web 页面的打印功能。下面,我们...
    99+
    2023-05-14
    php 打印
  • 在java中实现对FORM的打印功能 (转)
    在java中实现对FORM的打印功能 (转)[@more@]在Java实现对FORM的打印功能public void print(JFrame frame){  Container container=frame.getConte...
    99+
    2023-06-03
  • Python如何实现两种稀疏矩阵的最小二乘法
    今天小编给大家分享一下Python如何实现两种稀疏矩阵的最小二乘法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。最小二乘法s...
    99+
    2023-07-05
  • python实现打印类的所有属性和方法
    目录打印类的所有属性和方法python中更多种类的打印1.print("." * 10) 是输出10个 "." 2.用了一个自定义的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作