Oi, Luiz! Como vai?
Agradeço por compartilhar.
Gostei da sua análise sobre o loop infinito, você identificou bem que o problema está no controle do contador, que impede a condição de parada de ser atingida. Sua correção com o incremento deixou o código funcional e alinhado com o comportamento esperado do while.
Continue praticando esse tipo de análise, pois entender o fluxo de repetição é muito importante no dia a dia com programação.
Dica: sempre que usar um while, revise se existe uma condição de saída clara e onde o valor de controle tá sendo atualizado; uma boa forma de fazer isso é testar com valores pequenos e acompanhar o contador com um print(contador).
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!