亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何利用Python實(shí)現(xiàn)n*n螺旋矩陣

 更新時(shí)間:2022年01月18日 10:28:25   作者:小星博博  
這篇文章主要給大家介紹了關(guān)于如何利用Python實(shí)現(xiàn)n*n螺旋矩陣的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

3*3螺旋矩陣:

1 2 3

8 9 4

7 6  5

實(shí)現(xiàn)代碼:

def spiral(n):
    matrix = [[0] * n for _ in range(n)]
    # 順時(shí)針?lè)较颍ㄓ?下,左,上)
    dx = [0, 1, 0, -1]
    dy = [1, 0, -1, 0]
    x = y = 0
    dn = 0  # 方向指針0;向右填充,1:向下填充,2:向上填充,3:向上填充
 
    for i in range(1, n * n + 1):  # 從1開(kāi)始賦值,一直到n*n
        matrix[x][y] = i
        temp_x = x + dx[dn]
        temp_y = y + dy[dn]
        if 0 <= temp_x < n and 0 <= temp_y < n and matrix[temp_x][temp_y] == 0:
            x = temp_x
            y = temp_y
        else:
            dn = (dn + 1) % 4
            x += dx[dn]
            y += dy[dn]
 
    return matrix
 
 
if __name__ == '__main__':
    n = int(input("輸入矩陣n值:"))
    matrix = spiral(n)
    for i in range(n):
        print(matrix[i])

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

附:python 簡(jiǎn)單實(shí)現(xiàn)螺旋矩陣

創(chuàng)建一個(gè)大小為m * n的矩陣,
并以螺旋方式遍歷它。
在遍歷時(shí),我們跟蹤變量“ val”以填充下一個(gè)值,
我們將“ val”一個(gè)接一個(gè)地遞增,并將其值放入矩陣中。
以下是簡(jiǎn)單實(shí)現(xiàn):
def spiral_matrix(m,n):
    '''
    :param x: colunm index
    :param y: row index
    '''
    a = [[0 for _ in range(m)] for _ in range(n)]
    val = 1
    x,y = 0,0
    count = m*n
    while val <= count:
        for i in range(x, m):
            a[x][i] = val
            val += 1
        x += 1
        for i in range(y+1, n):
            a[i][m-1] = val
            val += 1
        y += 1
 
        if x < m:
            for i in range(m-2, x-2, -1):
                a[n-1][i] = val
                val += 1
            m -= 1
 
        if y < n:
            for i in range(n-2, y-1, -1):
                a[i][y-1] = val
                val += 1
            n -= 1
    for i in a:
        print(*i)
 
spiral_matrix(6,6)
# 1 2 3 4 5 6
# 20 21 22 23 24 7
# 19 32 33 34 25 8
# 18 31 36 35 26 9
# 17 30 29 28 27 10
# 16 15 14 13 12 11

總結(jié)

到此這篇關(guān)于如何利用Python實(shí)現(xiàn)n*n螺旋矩陣的文章就介紹到這了,更多相關(guān)Python實(shí)現(xiàn)n*n螺旋矩陣內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python繪制BA無(wú)標(biāo)度網(wǎng)絡(luò)示例代碼

    python繪制BA無(wú)標(biāo)度網(wǎng)絡(luò)示例代碼

    今天小編就為大家分享一篇python繪制BA無(wú)標(biāo)度網(wǎng)絡(luò)示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Python+OpenCV實(shí)戰(zhàn)之拖拽虛擬方塊的實(shí)現(xiàn)

    Python+OpenCV實(shí)戰(zhàn)之拖拽虛擬方塊的實(shí)現(xiàn)

    這篇文章主要介紹了如何利用Python+OpenCV實(shí)現(xiàn)拖拽虛擬方塊的效果,即根據(jù)手指坐標(biāo)位置和矩形的坐標(biāo)位置,判斷手指點(diǎn)是否在矩形上,如果在則矩形跟隨手指移動(dòng),感興趣的可以了解一下
    2022-08-08
  • python3的數(shù)據(jù)類(lèi)型及數(shù)據(jù)類(lèi)型轉(zhuǎn)換實(shí)例詳解

    python3的數(shù)據(jù)類(lèi)型及數(shù)據(jù)類(lèi)型轉(zhuǎn)換實(shí)例詳解

    在本文里小編給大家分享的是關(guān)于python3的數(shù)據(jù)類(lèi)型及數(shù)據(jù)類(lèi)型轉(zhuǎn)換以及相關(guān)實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2019-08-08
  • flask-socketio實(shí)現(xiàn)WebSocket的方法

    flask-socketio實(shí)現(xiàn)WebSocket的方法

    這篇文章主要介紹了flask-socketio實(shí)現(xiàn)WebSocket的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Python實(shí)現(xiàn)保證只能運(yùn)行一個(gè)腳本實(shí)例

    Python實(shí)現(xiàn)保證只能運(yùn)行一個(gè)腳本實(shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)保證只能運(yùn)行一個(gè)腳本實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-06-06
  • Python全面解析xml文件

    Python全面解析xml文件

    這篇文章主要介紹了Python全面解析xml文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python 3.x讀寫(xiě)csv文件中數(shù)字的方法示例

    Python 3.x讀寫(xiě)csv文件中數(shù)字的方法示例

    在我們?nèi)粘i_(kāi)發(fā)中經(jīng)常需要對(duì)csv文件進(jìn)行讀寫(xiě),下面這篇文章主要給大家介紹了關(guān)于Python 3.x讀寫(xiě)csv文件中數(shù)字的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • python開(kāi)發(fā)之a(chǎn)naconda以及win7下安裝gensim的方法

    python開(kāi)發(fā)之a(chǎn)naconda以及win7下安裝gensim的方法

    這篇文章主要介紹了python開(kāi)發(fā)之a(chǎn)naconda以及win7下安裝gensim的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python實(shí)現(xiàn)一行代碼自動(dòng)繪制藝術(shù)畫(huà)

    Python實(shí)現(xiàn)一行代碼自動(dòng)繪制藝術(shù)畫(huà)

    DiscoArt?是一個(gè)很牛的開(kāi)源模塊,它能根據(jù)你給定的關(guān)鍵詞自動(dòng)繪畫(huà)。本文就將利用這一模塊實(shí)現(xiàn)一行代碼自動(dòng)繪制藝術(shù)畫(huà),需要的可以參考一下
    2022-12-12
  • Pytorch復(fù)現(xiàn)擴(kuò)散模型的示例詳解

    Pytorch復(fù)現(xiàn)擴(kuò)散模型的示例詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Pytorch復(fù)現(xiàn)擴(kuò)散模型,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以跟隨小編一起了解一下
    2023-04-04

最新評(píng)論