我做了一個迷宮尋路遞歸函數作爲作業,但我遇到了一個問題。我知道我已經做了一切正確的事情(通過調試),路徑正在被發現等。但是當所有的遞歸函數開始返回True時,原來的/第一個不是!我找不到讓它返回true的方法(遞歸調用是以「if,true」格式)。Python - 不能「結束」遞歸函數
我希望你們可以幫助我,對不起英語不好,因爲它不是我的母語。
*這裏有雲代碼:
def pathExists(labyrinth, currCoord, destination, previousRule, visited):
if currCoord == destination:
return True
if currCoord not in labyrinth:
print "False"
return False
rule = labyrinth[currCoord]
if rule == Any:
previousRule = rule
print currCoord
if (pathExists(labyrinth, (currCoord[0], currCoord[1] - 1), destination, rule, visited) or
pathExists(labyrinth, (currCoord[0] + 1, currCoord[1]), destination, rule, visited) or
pathExists(labyrinth, (currCoord[0] - 1, currCoord[1]), destination, rule, visited) or
pathExists(labyrinth, (currCoord[0], currCoord[1] + 1), destination, rule, visited)):
print "True"
return True
else:
print"outro"
elif rule == Bridge:
print currCoord
currCoord = nextCoord(currCoord, previousRule)
if pathExists(labyrinth, currCoord, destination, rule, visited):
print "True"
return True
else:
print currCoord
if currCoord in visited:
print "False"
return False
visited.append(currCoord)
previousRule = rule
currCoord = nextCoord(currCoord, rule)
if pathExists(labyrinth, currCoord, destination, rule, visited):
print "True"
return True
你需要顯示你的實際代碼。 – BrenBarn 2013-02-27 22:18:27
你能分析變量名嗎?那麼隨後會更容易。 – 2013-02-27 22:24:15
請更正您的身份。很難理解它,因爲語言障礙 – 2013-02-27 22:26:49