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

python螺旋數(shù)字矩陣的實現(xiàn)示例

 更新時間:2024年12月30日 11:24:02   作者:大巫的小巫  
本文介紹了使用Python生成一個螺旋數(shù)字矩陣,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

python螺旋數(shù)字矩陣

給出數(shù)字個數(shù)n (0<n ≤999)和行數(shù)m (0<m ≤ 999)。從左上角的1開始,按照順時針螺旋向內(nèi)寫方式,輸出1-n,依次寫出2,3.….,最終形成一個m行的矩陣。
1.每行數(shù)字的個數(shù)一樣多
2.列的數(shù)量盡可能少
3.填充數(shù)字時優(yōu)先填充外部
4.數(shù)字不夠時,使用單個*號占位

def getRes(n, m):
    num_size = n
    rows = m

    cols, _ = divmod(n, m)
    cols = cols + 1 if _ else cols # 列數(shù)

    res = [['*'] * cols for _ in range(rows)]  # 初始化m行的矩陣
    i, j = 0, 0
    directions = [(0, 1), (1, 0), (0, -1), (-1, 0)]  # 四個方向依次為:右,下,左,上
    direction_index = 0 # 表示當前走的方向,隨i和j的變化而變化
    for num in range(num_size):
        number = num + 1
        res[i][j] = str(number)  # 為了后面拼接字符串,所以轉(zhuǎn)str
        nxt_i, nxt_j = directions[direction_index][0] + i, directions[direction_index][1] + j  # 按照當前方向時,下一個坐標位置
        if not (0 <= nxt_i < rows and 0 <= nxt_j < cols and res[nxt_i][nxt_j] == '*'):# 表示走的方向的改變。當下一個坐標位置出了邊界時,或者未到邊界但是下一個位置的值不是*,也就是已被填充時,改變方向
            direction_index = (direction_index + 1) % 4
        i, j = i + directions[direction_index][0], j + directions[direction_index][1]
    for values in res:
        print('\t'.join(values))


getRes(9, 4)

n=9,m=4

n=17,m=6

n=55,m=9

到此這篇關于python螺旋數(shù)字矩陣的實現(xiàn)示例的文章就介紹到這了,更多相關python螺旋數(shù)字矩陣內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • python?opencv實現(xiàn)灰度圖和彩色圖的互相轉(zhuǎn)換

    python?opencv實現(xiàn)灰度圖和彩色圖的互相轉(zhuǎn)換

    這篇文章主要給大家介紹了關于python?opencv實現(xiàn)灰度圖和彩色圖的互相轉(zhuǎn)換,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-01-01
  • python 環(huán)境安裝及編輯器配置方法小結

    python 環(huán)境安裝及編輯器配置方法小結

    這篇文章主要介紹了python 環(huán)境安裝及編輯器配置方法小結的相關資料,需要的朋友可以參考下
    2021-06-06
  • 基于Python解密仿射密碼

    基于Python解密仿射密碼

    這篇文章主要介紹了基于Python解密仿射密碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Python使用PySide6編寫一個CSV文件瀏覽器

    Python使用PySide6編寫一個CSV文件瀏覽器

    這篇文章主要為大家詳細介紹了如何使用 PySide6 創(chuàng)建一個簡單的圖形用戶界面(GUI)應用程序,用于瀏覽 CSV 文件中的數(shù)據(jù),感興趣的小伙伴可以了解下
    2025-07-07
  • pyecharts結合flask框架的使用

    pyecharts結合flask框架的使用

    這篇文章主要介紹了pyecharts結合flask框架,主要是介紹如何在Flask框架中使用pyecharts,本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 樹莓派4B安裝Tensorflow的方法步驟

    樹莓派4B安裝Tensorflow的方法步驟

    這篇文章主要介紹了樹莓派4B安裝Tensorflow的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Python3.4解釋器用法簡單示例

    Python3.4解釋器用法簡單示例

    這篇文章主要介紹了Python3.4解釋器用法,結合簡單實例形式分析了Windows與Linux系統(tǒng)環(huán)境中Python3.4解釋器的簡單使用方法,需要的朋友可以參考下
    2019-03-03
  • 不知道這5種下劃線的含義,你就不算真的會Python!

    不知道這5種下劃線的含義,你就不算真的會Python!

    Python是一種高級程序語言,其核心設計哲學是代碼可讀性和語法,能夠讓程序員用很少的代碼來表達自己的想法。這篇文章主要介紹了不知道這5種下劃線的含義,你就不算真的會Python!對此標題感興趣的朋友一起閱讀本文吧
    2018-10-10
  • Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法

    Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法

    下面小編就為大家分享一篇Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 利用Python實現(xiàn)命令行版的火車票查看器

    利用Python實現(xiàn)命令行版的火車票查看器

    當你想查詢一下火車票信息的時候,你還在上12306官網(wǎng)嗎?或是打開你手機里的APP?下面讓我們來用Python寫一個命令行版的火車票查看器, 只要在命令行敲一行命令就能獲得你想要的火車票信息!如果你剛掌握了Python基礎,這將是個不錯的小練習。
    2016-08-08

最新評論

屯门区| 饶平县| 定结县| 眉山市| 上林县| 南投县| 油尖旺区| 扶绥县| 黎城县| 梓潼县| 凉山| 怀集县| 福清市| 宁晋县| 万山特区| 彰化市| 山阳县| 长寿区| 佛冈县| 库尔勒市| 磴口县| 体育| 三都| 茂名市| 穆棱市| 扎囊县| 成安县| 海南省| 东乡| 新民市| 泗水县| 红桥区| 共和县| 尉氏县| 甘德县| 双柏县| 时尚| 府谷县| 巴彦淖尔市| 稻城县| 伊川县|