Importante

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!

1
resposta

[Projeto] Desafio: cálculo idade

Inicialmente não havia uitilizado a def(), mas ao ler as considerações do instrutor entendi que não era a melhor alternativa, visto que estamos trabalhando com input de valores para as variáveis e, para isso, faz mais sentido definir a função para que seja possível reutilizá-la diversas vezes.

Resposta com ajustes:

"""

ano_nascimento = int(input('Digite o ano de nascimento: '))
ano_atual = int(input('Digite o ano atual: '))

def calculo_idade (ano_nascimento, ano_atual):
  """Calcula a idade de uma pessoa com base na diferença entre o ano atual e o ano de nascimento."""
  return ano_atual - ano_nascimento

  print(f'A idade é {idade_calculada} anos')
1 resposta

Oi, Nathaly! Como vai?

Que ótimo ver você compartilhando seu progresso no desafio de cálculo de idade com a comunidade! Sua reflexão sobre o uso da função def() mostra que você está evoluindo muito bem. Perceber que definir uma função torna o código mais reutilizável é um passo importante no aprendizado de programação.

No projeto que você apresentou, a lógica de capturar o ano de nascimento e o ano atual via input, convertendo os valores com int(), está correta e bem aplicada. A função calculo_idade recebe ano_nascimento e ano_atual como parâmetros e realiza o cálculo da diferença entre eles, o que é exatamente o esperado.

Há um detalhe importante a corrigir, porém: o print está posicionado após o return dentro da função, o que faz com que ele nunca seja executado. O Python encerra a função assim que encontra o return, então qualquer instrução depois dele é ignorada.

Aqui está uma versão ajustada do seu código:

def calculo_idade(ano_nascimento, ano_atual):
    """Calcula a idade de uma pessoa com base na diferença entre o ano atual e o ano de nascimento."""
    return ano_atual - ano_nascimento

ano_nascimento = int(input('Digite o ano de nascimento: '))
ano_atual = int(input('Digite o ano atual: '))

idade_calculada = calculo_idade(ano_nascimento, ano_atual)
print(f'A idade é {idade_calculada} anos')

Veja que movi o print para fora da função. Isso é importante porque, dentro da função, o print não seria executado. A função calculo_idade apenas retorna o valor da idade, e então usamos esse valor fora da função para exibi-lo.

Continue praticando e conte sempre com o apoio do Fórum na sua jornada. Bons estudos!

Você já tentou reaproveitar essa função calculoidade em outros contextos do seu código, como calcular a idade de mais de uma pessoa em sequência?

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