Oi, Mateus!
Você mandou muito bem ao ir além do que foi pedido no enunciado e implementar a repetição na sua solução.
Respondendo à sua dúvida: sim, a estrutura do while está correta. Utilizar o while True para manter o programa rodando e o comando break para encerrar o ciclo quando o usuário digita "sair" é uma forma muito eficiente de criar menus interativos.
Alguns pontos positivos que notei no seu código:
- Interatividade: O usuário consegue adicionar quantos convidados quiser sem precisar reiniciar o programa.
- Flexibilidade: O uso do método
.lower() na verificação da saída é excelente, pois funciona mesmo se o usuário digitar "Sair" ou "SAIR". - Lógica de índice: A conta
posicao - 1 dentro do laço garante que o índice seja calculado corretamente para cada nova inserção.
Uma dica para seus próximos estudos:
Como você está convertendo a entrada da posição diretamente para um número inteiro com int(), se o usuário digitar uma letra por engano, o programa irá parar com um erro. Futuramente, vale a pena pesquisar sobre tratamento de exceções (usando try e except) para lidar com essas situações sem que o programa "quebre".
Continue com essa curiosidade de testar e expandir os exercícios!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!