python迷宫求解代码_Python中的迷宫求解
我孜孜不倦地試圖用python制作一個迷宮解算器。我已經(jīng)使用了我所有的資源,比如朋友、互聯(lián)網(wǎng)和堆棧。我已經(jīng)根據(jù)之前的堆棧問題修改了很多代碼,但是即使完全復(fù)制代碼(我不喜歡這樣做),也無法得到答案。在
迷宮/輸入文件(嵌套列表):[['*', '*', '*', '*', '*'],
['*', ' ', '*', ' ', '*'],
['*', ' ', ' ', ' ', '*'],
['*', ' ', '*', ' ', 'E'],
['*', 'S', '*', '*', '*']]
此函數(shù)在迷宮中的相同點上循環(huán)。我的起點“S”是(4,1),其輸出為:
^{pr2}$
上面的語句是用來打印調(diào)試函數(shù)I的。它只是按這個順序打印上面的內(nèi)容,直到它到達(dá)遞歸限制。低于是我的求解函數(shù):already_visited=[]
def solve(x,y):
global already_visited
matrix = draw(load())
print (x,y)
#base cases
if matrix[x][y] == "E":
for row in matrix:
row = str(row)[1:-1]
print row
return True
if matrix[x][y] == "*":
return False
if matrix[x][y] == "x":
return False
matrix[x][y] = "x"
#---------------------
if (x,y) in already_visited: #check if we have already been here
return False
already_visited.append((x,y)) #add position to list
#---------------------
# recursive cases (matrix traversal)
if (x < len(matrix)-1 and solve1(x+1,y)):
return True
elif (y > 0 and solve1(x,y-1)):
return True
elif (x > 0 and solve1(x-1,y)):
return True
elif (y < len(matrix)-1 and solve1(x,y+1)):
return True
else:
return False
我輸入的x和y的函數(shù)都是起始索引,如上面的迷宮所示。非常感謝任何幫助!在
總結(jié)
以上是生活随笔為你收集整理的python迷宫求解代码_Python中的迷宫求解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fir c语言程序,fir.rar fi
- 下一篇: ospf hello时间和dead_网络