Oi, Ana. Tudo bem?
Sua solução ficou excelente. Você conseguiu organizar o código de forma modular utilizando funções para cada operação matemática e aplicou o bloco try-except de forma precisa para capturar tanto o erro de conversão de tipos quanto a divisão por zero.
O uso do int() para capturar os números garante que o ValueError seja disparado caso o usuário digite um texto, e a função de divisão aciona o ZeroDivisionError caso o segundo valor seja zero. Uma possibilidade de melhoria, caso queira explorar mais para a frente, é aceitar números decimais trocando a conversão para float(), o que permite realizar operações com valores quebrados sem quebrar a aplicação.
O que você acha de tentar adicionar um laço de repetição com while para fazer a calculadora continuar rodando até que o usuário decida sair?
Parabéns pelo empenho e pelo ótimo trabalho no projeto. Se precisar de algo mais ou quiser testar novas ideias no código, o fórum está à disposição para te ajudar.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!