Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Resposta

def calcular_idade(ano_nascimento, ano_atual):
    idade = ano_atual - ano_nascimento
    return idade

try:
    ano_nascimento = int(input("Digite o ano de nascimento: "))
    ano_atual = int(input("Digite o ano atual: "))
    
    if ano_nascimento > ano_atual:
        print("Hum... o ano de nascimento não pode ser maior que o ano atual!")
    else:
        resultado = calcular_idade(ano_nascimento, ano_atual)
        print(f"Sua idade é: {resultado} anos.")
        
except ValueError:
    print("Por favor, digite apenas números válidos para os anos.")
1 resposta
solução!

Olá, Maria! Como vai?

Você estruturou bem a função calcular_idade() e também usou try/except para tratar entradas inválidas, o que deixa o programa mais seguro e amigável para quem está usando.

Uma dica interessante para o futuro é usar uma validação simples dentro da função, deixando a regra mais centralizada no código.

def calcular_idade(ano_nascimento, ano_atual):
    if ano_nascimento > ano_atual:
        return None
    return ano_atual - ano_nascimento

idade = calcular_idade(2000, 2024)

if idade is None:
    print("Ano de nascimento invalido")
else:
    print(f"Sua idade e: {idade} anos")

Nesse exemplo, a função retorna None quando o ano de nascimento é maior que o ano atual, e o programa decide qual mensagem mostrar. Ótima prática ao separar cálculo e validação.

Na sua visão, isolar o alinhamento correto das diretrizes de exceção ajuda a manter as regras de tratamento de erros do seu projeto focadas em uma única responsabilidade de forma mais organizada?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!