Я работаю над проблемой решения лабиринта. После того, как код может найти цель, я не мог позволить python распечатать список решений. Но это необходимо для домашней работы.Как заставить мою функцию лабиринта распечатать решение
Может кто-нибудь мне помочь? Я только что изучил питон в течение 3 недель. Я хочу распечатать каждый шаг, который питон переходит к Конечной цели. Вот мой код:
def mazeDetector(row,col):
c= m[row][col]
solution=[]
if c =="W":
print "Wall here: "+ str(row)+ ","+ str(col)
return False
elif c =="V":
print "Visited: " + str(row)+ ","+ str(col)
return False
elif c=="F":
print "Found: "+ str(row)+ ","+ str(col)
print solution
return True
print "visiting:"+ str(row)+ ","+ str(col)
solution.append((row,col),)
m[row][col]=="V"
if (col>0 and mazeDetector(row,col-1)):
return True
elif (row< len(m)-1 and mazeDetector(row+1,col)):
return True
elif (row>0 and mazeDetector(row-1, col)):
return True
elif (col<=len(m)-1 and mazeDetector(row, col+1)):
return True
return False
mazeDetector(1,5)
А вот лабиринт, W
означает стену, P
означает место, чтобы пойти, S
средства запуска, F
означает окончательное:
[['W', 'P', 'P', 'W', 'W', 'W'],
['W', 'W', 'P', 'W', 'P', 'S'],
['W', 'W', 'P', 'W', 'P', 'W'],
['P', 'P', 'P', 'P', 'P', 'W'],
['F', 'W', 'P', 'W', 'W', 'W'],
['W', 'P', 'P', 'P', 'P', 'W']]
Большое спасибо! –
а как я могу позволить mazeDectector вернуть решение? –
Вы можете использовать кортеж вашего текущего результата и решения –