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!