迷宫问题python实现
#!/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实现相关推荐
- 刷题 BFS 广度优先算法 : 大胖子走迷宫 (python, java)
刷题 BFS 广度优先算法 : 大胖子走迷宫 (python, java) https://www.lanqiao.cn/problems/234/learning/ http://lx.lanqia ...
- 迷宫游戏python实现
在迷宫算法总结篇中我总结了生成迷宫的四种算法,在这一篇文章里面我侧重迷宫游戏的实现以及可视化. 使用python3中的GUI绘图库tkinter实现了一个简陋版的迷宫游戏,地图截图如下图所示. 为了降 ...
- python迷宫万花筒代码_利用广度优先遍历搜索迷宫的python源代码
广度优先遍历简称为DFS,是数据结构中比较常用的一个算法,主要原理是采用队列先进先出的规则,一层一层的访问图的节点.而迷宫问题接近与遍历,但是不同于遍历,主要考虑是采用栈的形式标记路径,并对当前节点和 ...
- 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, ...
- 华为OD机试 - 机器人走迷宫(Python)| 递归的使用
OD统一考试B卷:机器人走迷宫 题目 房间有 X*Y 的方格组成,例如下图为6*4的大小.每一个放个以坐标(x,y)描述. 机器人固定从方格(0,0)出发,只能向东或者向北前进, 出口固定为房间的最东 ...
- 机器人走迷宫(python解法)
一.题目 二.解题思路 首先是对自己的一个思路描述,首先只是想判断四周是否为存在0,然后不断顺着0的位置一路走下去,当出现四周没有1时,在从原本的位置倒退一格,但是发现这样的结果会忽略很多条路径,因此 ...
- 用栈、回溯算法设计迷宫程序
目录 1.走迷宫与回溯算法 2.迷宫设计栈扮演的角色 3.Python实现走迷宫 栈的应用有许多,本篇博文着重将栈与回溯(Backtracking)算法结合,设计走迷宫程序.其实回溯算法也是人工智能的 ...
- python可以实现哪些功能_Python学习究竟有多强大,Python代码能实现哪些功能
Python究竟有多强大?Python代码能实现哪些功能?众所周知,Python入门简单.功能强大,是人工智能时代最佳的编程语言.但很多人好奇Python究竟有多强大,为什么那么受欢迎?下面就来给大家 ...
- python小游戏之三
猜拳游戏 Python代码实现猜拳小游戏 Python代码实现猜拳小游戏_zhangtongyuan0909的博客-CSDN博客_python猜拳游戏代码 用python中类与对象写一个猜拳游戏 用p ...
最新文章
- 中医治疗慢性病很有效
- android字体显示不全,android 按钮的文字显示不全
- java mp3数组_Java基础之数组(一)
- tiny xml 使用总结
- 从Jupyter Notebook切换到脚本的5个理由
- 如何理解const char*, char const*, char*const等
- 了解这些坑,再也不会出现诡异的BUG了~
- Express学习笔记(基本使用,中间件,模块化路由,请求处理)
- 百度地图依赖包php,调用百度地图
- 【14年浙江省赛 ZOJ 3778】Talented Chef
- cs1.6服务器修改游戏类型,cs1.6联机及游戏模式详细解读
- java 实现html压缩
- JAVA后端如何保证业务操作的幂等性
- MVC、POJO、PO、DTO、TO、BO、VO、DAO、domian、delegate、sql
- JVM 垃圾回收详解
- c#中用声音提示报警 .
- Marathon和Kubernetes的区别
- 使用ftp从Linux中下载文件时报550 Filed to open file
- windows无法连接到打印机_【Windows】如何”稳定“连接同一个局域网内的打印机?...
- 移相全桥DCDC通过Simulink扫频得到其传递函数方法(非m脚本)