pues lo que yo veo es que debes de colocar la limitante es porque en el while estas haciendo una asignacion por lo que el bucle se repetira infinitamente ya que nunca seria contrario a esto, al menos que hagas el break que haces cuando entra en el condicional de la limitante que sale del ciclo, saludos creo que lo enrede es que ya estoy celebrando el fin de año