#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:wangyijie
# datetime:2021/8/8 10:27
# software: PyCharm
#创建迷宫
maze= [[1,1,1,1,1,1,1,1,1,1,1],[1,0,1,1,1,1,1,1,1,1,1],[1,0,1,1,1,1,1,1,1,1,1],[1,0,1,1,1,1,1,1,1,1,1],[1,0,1,1,1,1,1,1,1,1,1],[1,0,1,1,1,1,1,1,1,1,1],[1,0,0,0,0,0,0,0,0,1,1],[1,1,1,1,1,1,1,1,0,1,1],[1,1,1,1,1,1,1,1,0,0,1],[1,1,1,1,1,1,1,1,1,1,1],
]list[(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,clist=[start]  #列表中放的是每一步走的坐标 (r,c)while list:#列表中不能为空#当前走的节点是哪一个now = list[-1]if now == end:print("出来了")print(list)breakrow,col = now  #py里面的解构,解包maze[row][col] = 2 #这个点已经走过了,标记一下# 上右下左,邻居们是不是0,如果是0就可以走if maze[row-1][col] ==0:list.append((row-1,col))continueelif maze[row][col+1] ==0:#右边可以走list.append((row, col+1))continueelif maze[row+1][col] == 0:#下方可以走list.append((row + 1, col))continueelif maze[row][col-1] ==0:list.append((row , col-1))continueelse: #邻居们不让走list.pop()   #把最后一个节点推出
else:print("迷宫是走不通的")#list就是一个栈
# list =["wangyijie","wangwu","lisi"]
# list.append("wangyijie")
# list.append("wangwu")
# list.append("lisi")
#
# print(list.pop())

迷宫问题python实现相关推荐

  1. 刷题 BFS 广度优先算法 : 大胖子走迷宫 (python, java)

    刷题 BFS 广度优先算法 : 大胖子走迷宫 (python, java) https://www.lanqiao.cn/problems/234/learning/ http://lx.lanqia ...

  2. 迷宫游戏python实现

    在迷宫算法总结篇中我总结了生成迷宫的四种算法,在这一篇文章里面我侧重迷宫游戏的实现以及可视化. 使用python3中的GUI绘图库tkinter实现了一个简陋版的迷宫游戏,地图截图如下图所示. 为了降 ...

  3. python迷宫万花筒代码_利用广度优先遍历搜索迷宫的python源代码

    广度优先遍历简称为DFS,是数据结构中比较常用的一个算法,主要原理是采用队列先进先出的规则,一层一层的访问图的节点.而迷宫问题接近与遍历,但是不同于遍历,主要考虑是采用栈的形式标记路径,并对当前节点和 ...

  4. DFS算法走迷宫(python实现)

    从@走到!31*31的迷宫 map = [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...

  5. 华为OD机试 - 机器人走迷宫(Python)| 递归的使用

    OD统一考试B卷:机器人走迷宫 题目 房间有 X*Y 的方格组成,例如下图为6*4的大小.每一个放个以坐标(x,y)描述. 机器人固定从方格(0,0)出发,只能向东或者向北前进, 出口固定为房间的最东 ...

  6. 机器人走迷宫(python解法)

    一.题目 二.解题思路 首先是对自己的一个思路描述,首先只是想判断四周是否为存在0,然后不断顺着0的位置一路走下去,当出现四周没有1时,在从原本的位置倒退一格,但是发现这样的结果会忽略很多条路径,因此 ...

  7. 用栈、回溯算法设计迷宫程序

    目录 1.走迷宫与回溯算法 2.迷宫设计栈扮演的角色 3.Python实现走迷宫 栈的应用有许多,本篇博文着重将栈与回溯(Backtracking)算法结合,设计走迷宫程序.其实回溯算法也是人工智能的 ...

  8. python可以实现哪些功能_Python学习究竟有多强大,Python代码能实现哪些功能

    Python究竟有多强大?Python代码能实现哪些功能?众所周知,Python入门简单.功能强大,是人工智能时代最佳的编程语言.但很多人好奇Python究竟有多强大,为什么那么受欢迎?下面就来给大家 ...

  9. python小游戏之三

    猜拳游戏 Python代码实现猜拳小游戏 Python代码实现猜拳小游戏_zhangtongyuan0909的博客-CSDN博客_python猜拳游戏代码 用python中类与对象写一个猜拳游戏 用p ...

最新文章

  1. 中医治疗慢性病很有效
  2. android字体显示不全,android 按钮的文字显示不全
  3. java mp3数组_Java基础之数组(一)
  4. tiny xml 使用总结
  5. 从Jupyter Notebook切换到脚本的5个理由
  6. 如何理解const char*, char const*, char*const等
  7. 了解这些坑,再也不会出现诡异的BUG了~
  8. Express学习笔记(基本使用,中间件,模块化路由,请求处理)
  9. 百度地图依赖包php,调用百度地图
  10. 【14年浙江省赛 ZOJ 3778】Talented Chef
  11. cs1.6服务器修改游戏类型,cs1.6联机及游戏模式详细解读
  12. java 实现html压缩
  13. JAVA后端如何保证业务操作的幂等性
  14. MVC、POJO、PO、DTO、TO、BO、VO、DAO、domian、delegate、sql
  15. JVM 垃圾回收详解
  16. c#中用声音提示报警 .
  17. Marathon和Kubernetes的区别
  18. 使用ftp从Linux中下载文件时报550 Filed to open file
  19. windows无法连接到打印机_【Windows】如何”稳定“连接同一个局域网内的打印机?...
  20. 移相全桥DCDC通过Simulink扫频得到其传递函数方法(非m脚本)

热门文章

  1. Web程序员如何入门以太坊开发
  2. 最小生成树原理及Kruskal算法的js实现
  3. xadmin实现表单验证
  4. 360浏览器清凉新版让手机解暑
  5. LEADTOOLS v19试用版安装指南图文详解
  6. 北理乐学c语言基础答案晕,北理乐学C语言答案.doc
  7. 跟KingDZ学HTML5之八 HTML5之Web Save
  8. centos6.x文本操作
  9. windows下php不支持mysql
  10. Qt Creator 第一个插件