Olá, João! Como vai?
Agradeço por compartilhar.
Gostei da forma como você tratou a entrada de dados usando try/except, importante perceber que isso evita erros quando valores inválidos são digitados e deixa o programa mais robusto, alinhado com a proposta do projeto.
Continue praticando esse cuidado com validações, pois ele faz muita diferença em aplicações reais.