Calculadora de dias, meses e anos em python
Olá sou um desenvolvedor iniciante, e para treinar gostaria de fazer uma calculadora de quantos anos, meses, dias a pessoa tem, mas não estou conseguindo pensar na conta, poderiam me ajudar??
segue o código até agora que subtrai o ano da pessoa com o ano de 2023 e da a idade dela:
dia = input( 'Que dia você nasceu? ')
mes = input ( 'Que mes você nasceu? ')
ano = input( 'Que ano você nasceu?' )
anoatual = 2023
print( 'De acordo com meus calculos você tem:', int(anoatual) - int(ano), 'anos de idade' )




Segue a minha sugestão, nela estou utilizando os módulos datetime e math.
EC
Olá, você pode converter a data informada e a atual para objetos do tipo date (datetime.strptime), e depois usar relativedelta (de dateutil) que vai lhe trazer em um outro objeto date o resultado já certinho.
Espero ter dado uma luz.
Abraços
Olá, você pode usar a seguinte solução:
Mas veja que há um problema, você declara variáveis que não utiliza
então.
FS
Oie! Fiz um algoritmo semelhante na faculdade e a base vai ser bem semelhante com a do cálculo dos anos, porém quando o resultado fica negativo a gente acaba tendo que decrementar a variável anterior, por exemplo: mesAtual = 05 e mesNascimento = 10, o resultado ficará -5 e você terá que tirar um ano do cálculo anterior (supondo que fosse 1998 - 2023 = 25, teria que ajustar para 24 já que a pessoa ainda não fez aniversário) e para corrigir o -5, podemos simplesmente somar com +12 para ajustar os meses do ano que já passaram. Quem vai dificultar um pouco são os dias, que vc terá que verificar quantos dias tem cada mês, se o ano é bissexto e por aí vai. Consegue ver melhor a solução?