码迷,mamicode.com
首页 > 其他好文 > 详细

干迷宫

时间:2019-09-11 22:01:23      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:起点   pop   int   lis   列表   张无忌   设置   左右   lse   

#创建迷宫
maze = [
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 1, 1, 0, 0, 0, 1, 1, 1],
[1, 0, 1, 1, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 0, 0, 0, 0, 1, 1, 1],
[1, 0, 1, 0, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 0, 0, 0, 0, 1, 1, 1],
[1, 1, 1, 0, 0, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
]
# lst[(1, 1), (2, 1), (3, 1)]
#设置起点
#设置终点

start = (1, 1)
end = (8, 8)

#判断当前这个点,上下左右是0 还是1 如果是0 可以走
#下:r + 1 ,c
#右:r, c+1
#左:r, c-1
#上:r-1,c


#栈:先进后出:
#list就是一个栈
# lst = []
# lst.append(‘胡辣汤‘)
# lst.append(‘张无忌‘)
# lst.append(‘灭绝‘)
# lst.append(‘张三‘)
lst = [start]

while lst:
#列表有东西才能继续向前走
now = lst[-1]
if now == end:
print(‘出来了‘)
print(lst)
break
row, col = now #解构
maze[row][col] = 2
if maze[row - 1][col] == 0:
lst.append((row - 1, col))
elif maze[row][col + 1] == 0:
lst.append((row, col + 1))
elif maze[row][col - 1] == 0:
lst.append((row, col - 1))
elif maze[row + 1][col] == 0:
lst.append((row + 1, col))
else:
lst.pop()


else:
print("迷宫是走不通的")

干迷宫

标签:起点   pop   int   lis   列表   张无忌   设置   左右   lse   

原文地址:https://www.cnblogs.com/yeers/p/11508764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!