电子鼠走迷宫python
时间: 2024-11-15 14:15:17 浏览: 14
电子鼠走迷宫是一个经典的算法问题,通常用于教学和理解递归搜索策略,比如深度优先搜索(DFS)或广度优先搜索(BFS)。在Python中,你可以通过构建一个二维网格表示迷宫,然后模拟老鼠从起点开始尝试走到终点的过程。这个过程可以设计成一个函数,该函数接受鼠的位置作为输入,检查是否到达终点,如果没有则尝试移动到四个相邻的格子中的一个。
下面是一个简单的示例,使用递归来解决这个问题:
```python
def find_path(maze, start, end):
if start == end: # 如果已经到达终点
return True
elif maze[start]: # 如果当前位置不可达(通常是墙)
return False
# 尝试向四个方向移动
for dx, dy in [(0, -1), (-1, 0), (0, 1), (1, 0)]:
new_pos = (start[0] + dx, start[1] + dy)
if find_path(maze, new_pos, end): # 如果找到通路,返回True
maze[start] = 0 # 标记当前位置已走过
return True
maze[start] = 0 # 如果所有方向都失败,标记位置并回溯
return False
# 使用示例
maze = [[1, 1, 0], [1, 0, 1], [0, 1, 0]] # 迷宫矩阵,1代表墙,0代表路径
start = (0, 0) # 起点
end = (2, 2) # 终点
print(find_path(maze, start, end)) # 输出结果
```
阅读全文