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

Python深度優(yōu)先算法生成迷宮

 更新時間:2018年01月22日 10:33:19   作者:crystal_tyan  
這篇文章主要為大家詳細介紹了Python深度優(yōu)先算法生成迷宮,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Python深度優(yōu)先算法生成迷宮,供大家參考,具體內(nèi)容如下

import random 
 
#warning: x and y confusing 
 
sx = 10 
sy = 10 
dfs = [[0 for col in range(sx)] for row in range(sy)] 
maze = [[' ' for col in range(2*sx+1)] for row in range(2*sy+1)] 
#1:up 2:down 3:left 4:right 
operation = {1:(0,-1),2:(0,1),3:(-1,0),4:(1,0)} 
direction = [1, 2, 3, 4] 
stack = [] 
 
for i in range(2*sx+1): 
 if i%2 == 0: 
  for j in range(2*sx+1): 
   maze[i][j] = '#' 
for i in range(2*sy+1): 
 if i%2 == 0: 
  for j in range(2*sy+1): 
   maze[j][i] = '#' 
 
def show(graph): 
 for i in graph: 
  for j in i: 
   print j, 
  print 
 
def showRouter(stack): 
 RGragh = [[0 for col in range(sx)] for row in range(sy)] 
 for (x, y) in stack: 
  RGragh[y][x] = 1 
 show(RGragh) 
 print 
 
def generateMaze(start): 
 x, y = start 
 dfs[y][x] = 1 
 random.shuffle(direction) 
 for d in direction: 
  px, py = (x + y for x, y in zip(start, operation[d])) 
  if px < 0 or px >= sx or py < 0 or py >= sy: 
   pass 
  else: 
   if dfs[py][px] is not 1: 
    mx = 2*x + 1 
    my = 2*y + 1 
    if d == 1: 
     maze[my-1][mx] = ' ' 
    elif d == 2: 
     maze[my+1][mx] = ' ' 
    elif d == 3: 
     maze[my][mx-1] = ' ' 
    elif d == 4: 
     maze[my][mx+1] = ' ' 
    generateMaze((px,py)) 
 
generateMaze((0,0)) 
show(dfs) 
show(maze) 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python爬蟲中多線程的使用詳解

    python爬蟲中多線程的使用詳解

    queue是python的標(biāo)準(zhǔn)庫,俗稱隊列.可以直接import引用,在python2.x中,模塊名為Queue。這篇文章主要介紹了python爬蟲中多線程的使用,需要的朋友可以參考下
    2019-09-09
  • Python腳本簡單實現(xiàn)打開默認(rèn)瀏覽器登錄人人和打開QQ的方法

    Python腳本簡單實現(xiàn)打開默認(rèn)瀏覽器登錄人人和打開QQ的方法

    這篇文章主要介紹了Python腳本簡單實現(xiàn)打開默認(rèn)瀏覽器登錄人人和打開QQ的方法,涉及Python針對瀏覽器及應(yīng)用程序的相關(guān)操作技巧,代碼非常簡單實用,需要的朋友可以參考下
    2016-04-04
  • Python爬取新型冠狀病毒“謠言”新聞進行數(shù)據(jù)分析

    Python爬取新型冠狀病毒“謠言”新聞進行數(shù)據(jù)分析

    這篇文章主要介紹了Python爬取新型冠狀病毒“謠言”新聞進行數(shù)據(jù)分析,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 如何讀取.npy文件以及如何實現(xiàn)將數(shù)組保存為圖片

    如何讀取.npy文件以及如何實現(xiàn)將數(shù)組保存為圖片

    這篇文章主要介紹了如何讀取.npy文件以及如何實現(xiàn)將數(shù)組保存為圖片問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python日志記錄模塊實例及改進

    python日志記錄模塊實例及改進

    許多應(yīng)用程序中都會有日志模塊,用于記錄系統(tǒng)在運行過程中的一些關(guān)鍵信息,以便于對系統(tǒng)的運行狀況進行跟蹤。在python中,我們不需要第三方的日志組件,因為它已經(jīng)為我們提供了簡單易用、且功能強大的日志模塊:logging。
    2017-02-02
  • beam search及pytorch的實現(xiàn)方式

    beam search及pytorch的實現(xiàn)方式

    這篇文章主要介紹了beam search及pytorch的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • python使用Berkeley DB數(shù)據(jù)庫實例

    python使用Berkeley DB數(shù)據(jù)庫實例

    這篇文章主要介紹了python使用Berkeley DB數(shù)據(jù)庫的方法,以實例形式講述了完整的操作過程,并總結(jié)了具體的操作步驟,非常具有實用性,需要的朋友可以參考下
    2014-09-09
  • python冒泡排序算法的實現(xiàn)代碼

    python冒泡排序算法的實現(xiàn)代碼

    這篇文章主要介紹了python冒泡排序算法的實現(xiàn)代碼,大家參考使用
    2013-11-11
  • Django用戶登錄與注冊系統(tǒng)的實現(xiàn)示例

    Django用戶登錄與注冊系統(tǒng)的實現(xiàn)示例

    這篇文章主要介紹了Django用戶登錄與注冊系統(tǒng)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 使用python進行波形及頻譜繪制的方法

    使用python進行波形及頻譜繪制的方法

    今天小編就為大家分享一篇使用python進行波形及頻譜繪制的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06

最新評論

卓尼县| 崇义县| 汶上县| 濉溪县| 名山县| 屏边| 安庆市| 丰县| 筠连县| 建水县| 综艺| 怀来县| 二连浩特市| 渭南市| 宜兰市| 宜良县| 西贡区| 广汉市| 平原县| 涟水县| 秦安县| 龙岩市| 司法| 宜章县| 封丘县| 昌黎县| 巫山县| 盐山县| 渭南市| 陈巴尔虎旗| 九江市| 天柱县| 额济纳旗| 合阳县| 合阳县| 吴堡县| 高碑店市| 响水县| 漳州市| 纳雍县| 湟中县|