1
resposta

Prática - Calculando a idade

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

# Exemplo de uso:
ano_nascimento = int(input("Digite o ano de nascimento: "))
ano_atual = int(input("Digite o ano atual: "))

idade = calcular_idade(ano_nascimento, ano_atual)
print(f"A idade é {idade} anos.")

Entrada:

Digite o ano de nascimento: 2005
Digite o ano atual: 2025

Saída:

A idade é 20 anos.
1 resposta

Olá, Aristóteles. Como vai?

Parabéns por mais uma excelente resolução de desafio no fórum! O seu código está impecável, extremamente limpo e cumpre com precisão matemática e lógica o objetivo da atividade.

Um grande acerto na estrutura da sua função calcular_idade() foi a escolha de usar o return em vez de embutir um print() dentro dela. Como conversamos em desafios anteriores, usar o return deixa a sua função especialista em apenas processar o dado, permitindo que o resultado (idade) seja usado livremente na linha principal do programa, seja para ser exibido na f-string ou para alimentar futuras regras de negócio do sistema.

Como você está consolidando o uso de funções e manipulação de variáveis em Python, quero te trazer duas sugestões de evolução de nível profissional para você aplicar em cenários do mundo real:

1. Automatizando o Ano Atual com a biblioteca datetime

No seu exemplo de uso, você solicitou que o usuário digitasse manualmente o ano atual (ano_atual = int(input(...))). No mercado de trabalho, para evitar que o usuário digite um ano errado e para tornar o sistema mais inteligente, nós deixamos que o próprio computador descubra o ano atual de forma automática utilizando o módulo nativo datetime.

Veja como o seu código fica muito mais autônomo:

from datetime import datetime

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

# Exemplo de uso inteligente:
ano_nascimento = int(input("Digite o ano de nascimento: "))

# O Python consulta o relógio do sistema operacional e extrai o ano corrente de forma exata
ano_atual = datetime.now().year

idade = calcular_idade(ano_nascimento, ano_atual)
print(f"A idade é {idade} anos.")

2. Definindo Argumentos Padrão (Named / Default Arguments)

Outro recurso fantástico do Python é a possibilidade de definir um valor padrão para os parâmetros de uma função. Podemos unir a inteligência do datetime direto na assinatura da função. Se o programador não passar o segundo argumento, o Python assume o ano atual sozinho; se passar, a função calcula com base no valor informado.

from datetime import datetime

# Se o ano_atual não for enviado, ele assume automaticamente o ano do sistema
def calcular_idade(ano_nascimento, ano_atual=datetime.now().year):
    return ano_atual - ano_nascimento

# Cenário A: Usando o ano atual automático
print(calcular_idade(1990))  # O Python calcula usando o ano corrente

# Cenário B: Calculando a idade que a pessoa tinha em um ano específico do passado/futuro
print(calcular_idade(1990, 2015))  # O Python calcula usando 2015

A sua versão original atende perfeitamente os requisitos da atividade e demonstra um raciocínio lógico impecável e muito bem estruturado. Continue com essa constância brilhante e focada nos estudos de Python!

Espero que possa ter lhe ajudado!