Есть два обычных подхода, оба уже упомянутых, которые составляют:
while True:
do_stuff() # and eventually...
break; # break out of the loop
или
x = True
while x:
do_stuff() # and eventually...
x = False # set x to False to break the loop
Оба будут работать правильно. С точки зрения «звукового дизайна» лучше использовать второй метод, потому что 1) break
может иметь противоречивое поведение во вложенных областях в некоторых языках; 2) первый подход противоречит предполагаемому использованию «пока»; 3) у ваших подпрограмм всегда должна быть единственная точка выхода