Solucionado (ver solução)

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!

Solucionado
(ver solução)
1
resposta

Faça como eu fiz: calculando a idade

from datetime import date
def calculate_age(birth_year, birth_month):
    today = date.today()
    age = today.year - birth_year
    if today.month < birth_month:
        age -= 1
    return age

birth_year = int(input("Digite o ano em que você nasceu: "))
birth_month = int(input("Digite o mês em que você nasceu (1-12): "))

if birth_month < 1 or birth_month > 12:
    print("Mês inválido. Por favor, insira um número entre 1 e 12.")
    exit()

print(f"Você tem {calculate_age(birth_year, birth_month)} anos.")
1 resposta
solução!

Oi, Julia! Como vai?

Seu código ficou bem organizado e usa muito bem a função calculate_age() para separar a regra de cálculo da entrada de dados. Gostei também da validação do mês antes de chamar a função, pois isso evita que o programa siga com um valor fora do intervalo esperado.

Continue praticando funções com validações, porque essa combinação deixa o código mais claro e seguro. Dica: para deixar o cálculo ainda mais preciso, você pode incluir também o dia de nascimento, já que a idade pode mudar dependendo se o aniversário já aconteceu ou não no ano atual. Você pensou em testar esse ajuste usando birth_day junto com birth_month?

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