欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)打印螺旋矩陣功能的方法

 更新時(shí)間:2017年11月21日 14:25:44   作者:Prime0906  
這篇文章主要介紹了Python實(shí)現(xiàn)打印螺旋矩陣功能的方法,簡(jiǎn)單描述了螺旋矩陣的概念、原理及Python實(shí)現(xiàn)方法,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)打印螺旋矩陣功能的方法。分享給大家供大家參考,具體如下:

一、問題描述

輸入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

二、思路

常規(guī)法是不斷的對(duì)數(shù)據(jù)邊界進(jìn)行判斷會(huì)很復(fù)雜,不妨考慮通過遞歸的解決每一層的數(shù)字。

三、代碼

#coding:utf-8
n = int(raw_input('>'))
#初始化數(shù)組
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)

運(yùn)行結(jié)果:

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 在Python 不同級(jí)目錄之間模塊的調(diào)用方法

    在Python 不同級(jí)目錄之間模塊的調(diào)用方法

    今天小編就為大家分享一篇在Python 不同級(jí)目錄之間模塊的調(diào)用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python圖像處理之圖像金字塔的向上和向下取樣

    Python圖像處理之圖像金字塔的向上和向下取樣

    圖像金字塔是指由一組圖像且不同分別率的子圖集合,它是圖像多尺度表達(dá)的一種,以多分辨率來解釋圖像的結(jié)構(gòu),主要用于圖像的分割或壓縮。本文主要介紹了圖像金字塔的圖像向下取樣和向上取樣,感興趣的可以了解一下
    2022-09-09
  • python3爬蟲中異步協(xié)程的用法

    python3爬蟲中異步協(xié)程的用法

    在本篇文章里小編給大家整理的是關(guān)于python3爬蟲中異步協(xié)程的用法,需要的朋友們可以學(xué)習(xí)參考下。
    2020-07-07
  • python操作xml文件示例

    python操作xml文件示例

    這篇文章主要介紹了python操作xml文件示例,需要的朋友可以參考下
    2014-04-04
  • python批量替換多文件字符串問題詳解

    python批量替換多文件字符串問題詳解

    批量替換是我們?cè)谌粘9ぷ髦薪?jīng)常會(huì)遇到的一個(gè)問題,下面這篇文章主要給大家介紹了關(guān)于python批量替換多文件字符串問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • AI與Python計(jì)算機(jī)視覺教程

    AI與Python計(jì)算機(jī)視覺教程

    這篇文章主要為大家介紹了AI與Python計(jì)算機(jī)視覺教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 解析Python3中的Import

    解析Python3中的Import

    本文通過示例代碼帶領(lǐng)大家一起學(xué)習(xí)Python3中的Import知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python3.4 splinter(模擬填寫表單)使用方法

    Python3.4 splinter(模擬填寫表單)使用方法

    今天小編就為大家分享一篇Python3.4 splinter(模擬填寫表單)使用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python的代理類實(shí)現(xiàn),控制訪問和修改屬性的權(quán)限你都了解嗎

    Python的代理類實(shí)現(xiàn),控制訪問和修改屬性的權(quán)限你都了解嗎

    這篇文章主要為大家詳細(xì)介紹了Python的代理類實(shí)現(xiàn),控制訪問和修改屬性的權(quán)限,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Python自然語言處理 NLTK 庫(kù)用法入門教程【經(jīng)典】

    Python自然語言處理 NLTK 庫(kù)用法入門教程【經(jīng)典】

    這篇文章主要介紹了Python自然語言處理 NLTK 庫(kù)用法,結(jié)合實(shí)例形式詳細(xì)分析了NLTK庫(kù)的功能、安裝、引用以及使用NLTK庫(kù)進(jìn)行文本分析的各種常用操作技巧,需要的朋友可以參考下
    2018-06-06

最新評(píng)論