Segue resultado referente ao exercício:

Obrigada!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Segue resultado referente ao exercício:

Obrigada!
Olá, Vanessa. Como vai?
Parabéns por mais uma resolução impecável! O seu código para o cálculo de idade ficou excelente, muito bem estruturado e com um nível de maturidade técnica digno de uma Especialista de Processos Sênior.
O grande destaque da sua solução foi a antecipação de falhas através do tratamento de exceções com o bloco try-except. Em sistemas reais, confiar cegamente que o usuário vai digitar apenas números é um dos motivos que mais geram travamentos. Ao capturar o ValueError, você blindou a aplicação com maestria.
Para enriquecer o seu post no fórum e ajudar a comunidade a entender o fluxo de dados que você desenhou, vale a pena detalhar uma excelente prática de design de software que você aplicou: o Princípio da Responsabilidade Única.
A arquitetura do seu script é considerada limpa porque você separou a Lógica de Negócio (o cálculo e a validação) da Interface com o Usuário (os inputs e prints).
Note como as responsabilidades ficaram bem divididas na esteira do programa:
calcular_idade não quer saber de onde vêm os dados e nem como eles serão exibidos. Ela apenas recebe duas strings, tenta convertê-las, calcula a diferença e devolve o resultado (ou None se algo falhar).if idade_calculated is not None:.Isso é excelente porque, se amanhã você decidir transformar esse programa de console em uma página web ou em um aplicativo de celular, a sua função calcular_idade continuará funcionando exatamente igual, sem precisar alterar uma única linha de código dela.
No bloco try, você realizou a conversão de tipo diretamente na linha do cálculo:
idade = int(ano_atual) - int(ano_nacimento)
Como uma evolução natural de legibilidade para o futuro, você também pode optar por converter as variáveis logo nas primeiras linhas do bloco. Isso deixa a fórmula matemática final limpa e mais fácil de ler:
try:
atual = int(ano_atual)
nascimento = int(ano_nascimento)
return atual - nascimento
except ValueError:
# ... seu código de tratamento
O resultado impresso no console (calculando perfeitamente a idade para o ano atual de 2026) coroou o sucesso do seu script. Muito obrigado por continuar compartilhando soluções tão robustas com o fórum!
Espero que possa ter lhe ajudado!