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!
Olá, Alex. Como vai?
Parabéns pela resolução do exercício! O seu código no PyCharm ficou super limpo, muito bem documentado com comentários numerando as etapas e a lógica da função funcionou perfeitamente, como podemos ver na saída do terminal informando os 20 anos.
Você estruturou muito bem a passagem de parâmetros (ano_nascimento e ano_atual) e o uso da f-string no print para exibir o resultado final. Essa organização modular é uma excelente prática no desenvolvimento de software.
Para agregar ainda mais valor ao seu código e te preparar para os próximos passos na programação com Python, quero compartilhar duas dicas de automatização e boas práticas bem legais:
**1. Automatizando o ano atual com a biblioteca datetime**
No seu código, você pede para o usuário digitar manualmente o ano atual. No dia a dia do mercado, nós tentamos automatizar tudo o que for possível para poupar o usuário e evitar erros de digitação.
O Python possui uma biblioteca nativa excelente chamada datetime. Com ela, o próprio computador consegue descobrir o ano atual de forma automática. Veja como seu código poderia ser atualizado:
from datetime import datetime
# 1. Criação da função que calcula a idade
def calcular_idade(ano_nascimento, ano_atual):
idade = ano_atual - ano_nascimento
return idade
# 2. Entrada de dados e captura automática do ano do sistema
ano_nasc = int(input("Digite o ano de nascimento: "))
ano_at = datetime.now().year # Pega o ano atual automaticamente
# 3. Processamento chamando a função
resultado_idade = calcular_idade(ano_nasc, ano_at)
# 4. Saída esperada
print(f"A idade é {resultado_idade} anos.")
2. Otimização do escopo da função
Uma outra boa prática quando criamos funções pequenas que apenas realizam um cálculo matemático simples é retornar a operação diretamente na linha do return, sem a necessidade de criar uma variável intermediária (como a variável idade na linha 3 do seu código original).
Você pode fazer assim:
def calcular_idade(ano_nascimento, ano_atual):
return ano_atual - ano_nascimento
Isso economiza uma linha de código e deixa o escopo da sua função ainda mais direto e elegante!
É muito bacana ver que você já está criando e testando diversos arquivos de exercícios sequenciais no seu projeto. Continue com essa constância e dedicação nos códigos!
Espero que possa ter lhe ajudado!