Мне нужно вызывать функцию, пока она не вернет 0 в Python - PullRequest
1 голос
/ 07 апреля 2011
def solveMaze(win, board):  
    mazesol.removeDeadEnds(win, board)

Мне нужно позвонить mazesol.removeDeadends(win,board), пока не вернется 0.Вот что делает функция:

Эта функция принимает окно в качестве первого аргумента, а доска - в качестве второго аргумента.Он подметает всю доску (пропуская первые и последние строки, а также первый и последний столбцы) и преобразует каждую позицию, которая является путем с ровно одним путем в качестве соседа, в тупик.Возвращает количество тупиков, которые были преобразованы.

Ответы [ 4 ]

6 голосов
/ 07 апреля 2011

Что-то не так с:

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 голос
/ 07 апреля 2011

быстро и грязно

result = mazesol.removeDeadends(win,board)
while not result:
  result = mazesol.removeDeadends(win,board)
1 голос
/ 07 апреля 2011

Я думаю, это то, что вы хотите:

while mazesol.removeDeadEnds(win, board) != 0:
    pass
0 голосов
/ 07 апреля 2011

Это можно сделать с помощью бесконечного цикла while, который прерывается, если возвращается 0:

While True:
    result = mazesol.removeDeadends(win,board)
    if result == 0:
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...