Olá, Pedro, como vai?
O seu código está correto nos dois formatos e cumpre exatamente o que a atividade solicita. A escolha entre while e for acaba sendo mais uma questão de clareza e intenção. Quando já se sabe o número exato de repetições, o for costuma deixar essa intenção mais explícita, o que torna a leitura mais direta.
No seu caso, ambos funcionam bem. O uso do while faz sentido quando a condição de parada depende de algo mais dinâmico, enquanto o for é uma boa opção para contagens definidas. Por exemplo, você poderia usar range(5) sem o zero inicial, já que o padrão do Python é começar do zero quando só um argumento é passado.
Continue compartilhando seus exercícios no fórum. Estamos à disposição.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!