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

Python實現螺旋矩陣的填充算法示例

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

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

afanty的分析:

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

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

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

代碼實現:

#coding=utf-8
import numpy
'''''
Author: afanty
Date:  2016/6/23
'''
def helixMatrix(n):
  '''''實現n維螺旋矩陣的填充
  :param n:維數
  :return:螺旋矩陣
  '''
  if not isinstance(n, int) or n <= 0:
    raise ValueError('請輸入合適的維數')
  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("腳本之家測試結果:")
print helixMatrix(5)

運行結果:

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程

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

相關文章

  • python和Appium移動端多設備自動化測試框架實現

    python和Appium移動端多設備自動化測試框架實現

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

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

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

    利用Python實現批量裁剪圖片

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

    Python格式化輸出的幾種匯總

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

    Python爬蟲基礎之簡單說一下scrapy的框架結構

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

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

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

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

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

    用python 制作圖片轉pdf工具

    這篇文章主要介紹了用python 制作圖片轉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過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08

最新評論

龙岩市| 江源县| 浠水县| 广昌县| 乐陵市| 花莲县| 鄂尔多斯市| 蓬溪县| 贵溪市| 高邑县| 千阳县| 潍坊市| 富宁县| 滨海县| 揭东县| 格尔木市| 叶城县| 东丰县| 桐梓县| 上高县| 常州市| 内黄县| 新郑市| 宝坻区| 阜南县| 临沂市| 咸宁市| 南川市| 新河县| 克什克腾旗| 上犹县| 枣强县| 扬中市| 大同县| 米林县| 利川市| 天台县| 思南县| 沅陵县| 泰和县| 扎囊县|