我需要在Python中调用一个函数直到它返回0

3 投票
5 回答
4347 浏览
提问于 2025-04-16 15:14
def solveMaze(win, board):  
    mazesol.removeDeadEnds(win, board)

我需要不断调用 mazesol.removeDeadends(win,board),直到它返回 0。这个函数的作用是:

这个函数的第一个参数是窗口,第二个参数是棋盘。它会遍历整个棋盘(跳过第一行、最后一行,以及第一列和最后一列),把每个只有一个邻居路径的位置变成死胡同。最后,它会返回被转换成死胡同的数量。

5 个回答

1

快速且粗糙

result = mazesol.removeDeadends(win,board)
while not result:
  result = mazesol.removeDeadends(win,board)
8

这段代码有什么问题吗:

while mazesol.removeDeadends(win,board): pass

或者

while mazesol.removeDeadends(win,board): print ".",

或者

 a = 1
 while a:
   a = mazesol.removeDeadends(win,board)
   print "Removed", a
1

我觉得这就是你想要的:

while mazesol.removeDeadEnds(win, board) != 0:
    pass

撰写回答