Com o meu nível de conhecimento atual, eu resolvi o exercício dessa forma:
Input:
def idade_ano_nascimento():
# Estou treinando tratamento de erros, aqui irei usar o Exception, pois é o primeiro exercício de teste e esse parâmetro "exception" é global, mas nos próximos exercícios irei classificar cada erro em sua categoria!
try:
ano_nascimento = int(input('Digite o ano de nascimento: '))
ano_atual = int(input('Digite o ano atual: '))
idade_atual = ano_atual - ano_nascimento
return print(f'A idade é: {idade_atual} anos.')
# Fiquei receoso de ter usado o "return" com o "print()", pois sinto que é código sem utilidade, já que na própria correção do exercício é utilizado o "return" sem o "print". Entendo que lá o return é usado com variáveis, *sigo com esse receio no momento*
except Exception as erro:
print('Valor inválido, utilize apenas números inteiros.')
idade_ano_nascimento() # caso o usuário erre, retornará para o programa...
idade_ano_nascimento() # descobri aqui que tem que "chamar" a função e não somente criar ela.
print('Fim do programa.')
Output:
Digite o ano de nascimento: 2002
Digite o ano atual: 2026
A idade é: 24 anos.
Fim do programa.
Correção | Alura:
def calcular_idade(ano_nascimento, ano_atual): #aqui eu percebo que os parâmetros já são criados junto com a função, não precisando estender as linhas de código abaixo
return ano_atual - ano_nascimento #esse return já define que os parâmetros criados irão entrar em uma subtração
nascimento = int(input("Digite o ano de nascimento: "))
atual = int(input("Digite o ano atual: "))
idade = calcular_idade(nascimento, atual)
print(f"A idade é {idade} anos.")
Sinto que fiz um caminho mais longo para o mesmo resultado e talvez eu tenha tirado um pouco da "funcionalidade" da função, que tem como papel facilitar modificações em projetos grandes. Treinarei isso antes de seguir para o próximo exercício.
Gostaria de dicas que me ajudarão nos próximos exercícios e melhorias usando como base esse exemplo! Qualquer direcionamento à partir daqui eu agradeço.
Abs!