python迷宫算法及实现_Python迷宫递归算法

本文介绍了使用Python实现的递归算法解决迷宫问题。代码能够判断迷宫是否可解,但无法直接打印出正确的路径。示例中给出了一个6x6的迷宫矩阵,并展示了递归函数的结构,然而在输出正确路径时遇到问题,目前只能输出是否可解的结果。
摘要由CSDN通过智能技术生成

所以我盯着这个有一段时间了,我不知道怎么才能回到这个迷宫的正确路径。在

2代表墙MAZE = [[2,2,2,2,1,2],

[2,2,1,2,1,2],

[2,2,1,2,1,2],

[2,1,1,1,1,2],

[2,1,2,2,2,2],

[2,1,2,2,2,2]]

START_ROW = 5

START_COL = 1

END_ROW = 0

END_COL = 4

was_here = [[False]*6 for i in range(6)]

correct_path = [[False]*6 for i in range(6)]

def recursiveSolve(x, y, correct_path):

if x == END_ROW and y == END_COL:

print correct_path

return True

if MAZE[x][y] == 2 or was_here[x][y]:

return False

was_here[x][y] = True

if x != 0:

if recursiveSolve(x-1, y, correct_path):

correct_path[x][y] = True

return True

if x != 5:

if recursiveSolve(x+1, y, correct_path):

correct_path[x][y] = True

return True

if y != 0:

if recursiveSolve(x, y-1, correct_path):

correct_path[x][y] = True

return True

if y != 5:

if recursiveSolve(x, y+1, correct_path):

correct_path[x][y] = True

return True

return False

print recursiveSolve(START_ROW, START_COL, correct_path)

我的代码很好用。它告诉你迷宫是否可解,但我不能打印出一个数组来显示这个迷宫。如果迷宫是可解的,我想打印出一个如下所示的数组:

^{pr2}$

但我的密码打印出来都是假的。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值