Oii, Roberth! Tudo bem?
Excelente iniciativa de criar um menu interativo! Isso mostra que você tá buscando ir além do que foi pedido no exercício, e seu código ficou muito organizado.
Sobre a sua dúvida: faz sentido manter o try dentro do while (como você fez) do que fora dele. Vou te explicar o porquê:
- O objetivo do menu: Em um programa assim, queremos que, se o usuário digitar algo errado (como uma letra no lugar de um número), o programa avise o erro e volte para o menu para dar outra chance, certo?
- Se o
try estiver FORA do while: Caso ocorra um erro, o Python vai pular para o except (que estaria lá fora) e o laço while será interrompido. Ou seja, o programa encerraria ou sairia do menu logo no primeiro erro. - Se o
try estiver DENTRO do while (seu código atual): Quando o erro acontece, ele cai no except, mostra a mensagem de erro e, como o while True continua rodando, o menu aparece novamente.
Continue firme nos estudos.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!