Descrição
Programa em Python para calcular quantidade de dias de vida uma pessoa teve.
[ Download:
aniversario.py ]
[
Enviar nova versão ]
[ Esconder código-fonte ]
# !/usr/bin/python
# Calcula quantos dias de vida uma pessoa teve dado o dia, mes e ano de seu nascimento.
# Autor: Ewerton Tiago de Azevedo
# Analise e Desenvolvimento de Sistemas - IFF Campos dos Goytacazes
# Data: 12-03-2010
from datetime import datetime
import locale
#configuracoes do usuario
locale.setlocale(locale.LC_ALL, "")
hoje=datetime.today()
anoAtual= hoje.strftime("%Y")
mesAtual= hoje.strftime("%m")
diaAtual= hoje.strftime("%d")
dataNascimento = []
print ("Digite sua data de nascimento no formato: dia<ENTER>mes<ENTER>ano<ENTER> ")
print (" Para mes digite apenas 1 e nao 01, 2 e nao 02")
print
print ("Data de Nascimento: "),
dia=input()
mes=input()
ano=input()
dataNascimento.append(dia)
dataNascimento.append(mes)
dataNascimento.append(ano)
print "Data de Nascimento: ", dataNascimento, "\n"
#Converte a data para inteiro
anoAtual=int(anoAtual)
mesAtual=int(mesAtual)
diaAtual=int(diaAtual)
# Verifica a idade do usuario
idade=anoAtual-dataNascimento[2]
if mesAtual > dataNascimento[1]:
idade=idade
elif dataNascimento[1] == mesAtual and diaAtual >= dataNascimento[0]:
idade=idade
else:
idade= idade-1
quantidadeAnosBissextos= idade/4
idadeEmDias=(idade*365)+quantidadeAnosBissextos
print "Sua idade em dias:",idadeEmDias,
Scripts recomendados
Conversor de dólares em reais e vice-versa
Método de Newton
Cálculo de um número binomial
Calculadora de area de poligonos e circulos
Parar de Fumar
Comentários
[1] Comentário enviado por
Moiseshb em 16/03/2010 - 19:51h:
Cara
Eu testei com duas datas de nascimento diferentes(mesmo ano) e deu o mesmo resultado
[2] Comentário enviado por
FIx3r em 16/03/2010 - 22:40h:
É eu vi que ta com erro mesmo, vou dar uma olhada nisso e na questão do ano bissexto, essa verificação não ta correta.
Obrigado pelo alerta.
Se você souber de alguma coisa...
[3] Comentário enviado por
FIx3r em 16/03/2010 - 22:43h:
Entendi onde eu errei aqui. Cara no meio dos Ifs eu coloquei pra ele checar a idade, no final o resultado se dá pela idade*365 que se vc digitar o mesmo ano sempre vai dar o mesmo resultado, eu esqueci de checar os meses também.
Vou acertar aqui.
[4] Comentário enviado por
david.sousarj em 26/10/2011 - 11:14h:
Cara, tem um jeito mais simpels usando o próprio método datetime. Eu melhorei um pouco seu código (com verificações de data, etc.) , postarei aqui no VOL.