最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)螺旋矩陣的填充算法示例

 更新時間:2017年12月28日 08:59:14   作者:afanty_mo  
這篇文章主要介紹了Python實現(xiàn)螺旋矩陣的填充算法,結(jié)合實例形式分析了Python實現(xiàn)螺旋矩陣的相關(guān)循環(huán)、遍歷、判斷、運算等操作技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)螺旋矩陣的填充算法。分享給大家供大家參考,具體如下:

afanty的分析:

關(guān)于矩陣(二維數(shù)組)填充問題自己動手推推,分析下兩個下表的移動規(guī)律就很容易咯。

對于螺旋矩陣,不管它是什么鬼,反正就是依次向右、向下、向右、向上移動。

向右移動:橫坐標不變,縱坐標加1
向下移動:縱坐標不變,橫坐標加1
向右移動:橫坐標不變,縱坐標減1
向上移動:縱坐標不變,橫坐標減1

代碼實現(xiàn):

#coding=utf-8
import numpy
'''''
Author: afanty
Date:  2016/6/23
'''
def helixMatrix(n):
  '''''實現(xiàn)n維螺旋矩陣的填充
  :param n:維數(shù)
  :return:螺旋矩陣
  '''
  if not isinstance(n, int) or n <= 0:
    raise ValueError('請輸入合適的維數(shù)')
  matrix = numpy.zeros((n, n))
  left_top = 0
  right_buttom = n - 1
  number = 1
  while left_top < right_buttom:
    # 向右移動,橫坐標不變,縱坐標+1,number+1
    i = left_top
    while i < right_buttom:
      matrix[left_top][i] = number
      i += 1
      number += 1
    # while
    # 向下移動,縱坐標不變,橫坐標+1,number+1
    i = left_top
    while i < right_buttom:
      matrix[i][right_buttom] = number
      i += 1
      number += 1
    #while
    # 向左移動,橫坐標不變,縱坐標-1,number+1
    i = right_buttom
    while i > left_top:
      matrix[right_buttom][i] = number
      i -= 1
      number += 1
    # while
    # 向上移動,縱坐標不變,橫坐標-1,number+1
    i = right_buttom
    while i > left_top:
      matrix[i][left_top] = number
      i -= 1
      number += 1
    # while
    left_top += 1
    right_buttom -= 1
  # while
  if n % 2 != 0:
    matrix[n / 2][n / 2] = n * n
  return matrix
# end
print("腳本之家測試結(jié)果:")
print helixMatrix(5)

運行結(jié)果:

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

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

相關(guān)文章

  • python和Appium移動端多設(shè)備自動化測試框架實現(xiàn)

    python和Appium移動端多設(shè)備自動化測試框架實現(xiàn)

    這篇文章主要介紹了python和Appium移動端多設(shè)備自動化測試框架實現(xiàn),基于pytest和Appium框架,支持Android和iOS功能自動化的測試框架的相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-04-04
  • Python使用HTTP POST上傳WAV文件的方法

    Python使用HTTP POST上傳WAV文件的方法

    Python是一個非常流行的編程語言,可以用于開發(fā)不同類型的應(yīng)用程序。其中,上傳文件是一個非常常見的需求。具體而言,我們探討了使用HTTP POST請求上傳單個和多個WAV文件的方法。無論你是需要將音頻文件上傳到云存儲還是服務(wù)器,這些方法都能幫助你上傳文件。
    2023-06-06
  • 利用Python實現(xiàn)批量裁剪圖片

    利用Python實現(xiàn)批量裁剪圖片

    這篇文章主要為大家詳細介紹了如何基于Python如何批量裁剪圖片并保存,文中的示例代碼講解詳細,具有一定的參考價值,有需要的小伙伴可以了解一下
    2023-10-10
  • Python格式化輸出的幾種匯總

    Python格式化輸出的幾種匯總

    這篇文章主要介紹了Python格式化輸出的幾種匯總,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python爬蟲基礎(chǔ)之簡單說一下scrapy的框架結(jié)構(gòu)

    Python爬蟲基礎(chǔ)之簡單說一下scrapy的框架結(jié)構(gòu)

    今天給大家?guī)淼氖顷P(guān)于Python爬蟲的相關(guān)知識,文章圍繞著scrapy的框架結(jié)構(gòu)展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python中使用第三方庫xlutils來追加寫入Excel文件示例

    Python中使用第三方庫xlutils來追加寫入Excel文件示例

    這篇文章主要介紹了Python中使用第三方庫xlutils來追加寫入Excel文件示例,本文直接給出追加寫入示例和追加效果,需要的朋友可以參考下
    2015-04-04
  • 一文詳解Python中生成器的原理與使用

    一文詳解Python中生成器的原理與使用

    生成器表達式本質(zhì)上就是一個迭代器,是定義迭代器的一種方式,是允許自定義邏輯的迭代器。本文將詳細講解一下Python中生成器的原理與使用,需要的可以參考一下
    2022-05-05
  • 用python 制作圖片轉(zhuǎn)pdf工具

    用python 制作圖片轉(zhuǎn)pdf工具

    這篇文章主要介紹了用python 制作圖片轉(zhuǎn)pdf工具的思路及代碼,非常詳細,有需要的小伙伴參考下
    2015-01-01
  • 解決springboot yml配置 logging.level 報錯問題

    解決springboot yml配置 logging.level 報錯問題

    今天小編就為大家分享一篇解決springboot yml配置 logging.level 報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 利用rest framework搭建Django API過程解析

    利用rest framework搭建Django API過程解析

    這篇文章主要介紹了利用rest framework搭建Django API過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08

最新評論

成都市| 化德县| 和平县| 商水县| 芒康县| 阜平县| 桦甸市| 正阳县| 惠来县| 马鞍山市| 合作市| 邯郸县| 正镶白旗| 泰和县| 睢宁县| 灵宝市| 寻乌县| 西昌市| 陆丰市| 梁平县| 九龙坡区| 视频| 化德县| 沿河| 台东县| 井陉县| 德令哈市| 永昌县| 卢龙县| 延长县| 甘谷县| 夏邑县| 太谷县| 琼结县| 新泰市| 通州市| 依安县| 卓尼县| 宝丰县| 邢台县| 蓬溪县|