熱線電話:13121318867

登錄
首頁精彩閱讀Python實現打印螺旋矩陣功能的方法
Python實現打印螺旋矩陣功能的方法
2018-04-26
收藏
Python實現打印螺旋矩陣功能的方法


本文實例講述了Python實現打印螺旋矩陣功能的方法。分享給大家供大家參考,具體如下:
一、問題描述
輸入N, 打印 N*N 螺旋矩陣

比如 N = 3,打?。?br /> 1 2 3
8 9 4
7 6 5

N = 4,打?。?br /> 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]*nforiinrange(n)]
#遞歸解決
defdfs(arr, x, y, start, n):
  ifn<=0:return0
  ifn==1:
    arr[x][y]=start
    return0
  #up
  foriinrange(n):
    arr[x][y+i]=start
    start+=1
  #right
  foriinrange(n-1):
    arr[x+1+i][y+n-1]=start
    start+=1
  #down
  foriinrange(n-1):
    arr[x+n-1][y+n-2-i]=start
    start+=1
  #left
  foriinrange(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
fortmpinarr:
  printformat%tuple(tmp)
運行結果:

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢