Ja zawsze w każdym projekcie jadę na while, tak jest prościej i sam kontrolujesz wszystko co się dzieje. Jeśli nie jesteś “nowym” to nie będziesz miał problemów z przewidywaniem działania takich, nawet bardzo rozbudowanych pętli. Wystarczy pamiętać o break.
Używanie break jest samo przez się trochę nieeleganckie, to tylko takie trochę inne goto.
Za to bardzo nieeleganckie jest używanie jednej pętli zamiast drugiej. Gdy znamy liczbę przebiegów należy stosować for, a gdy jej nie znamy while, wszelkie kombinowanie zmniejsza tylko czytelność kodu.