[Python-es] Duda calculando edad

Oscar Carballal Prego oscar.carballal en gmail.com
Vie Feb 26 10:25:25 CET 2010


Perdón, me colé en una línea de código, sería

if act_year / 4 == 0 and act_year / 100 != 0 or act_year / 400 == 0:

Un saludo :)

El 26/02/2010, a las 10:17, Oscar Carballal Prego escribió:

> Gracias Eduardo y Jesús,
>
> El detalle de Jesús es cierto, aunque en el caso de esta aplicación  
> no es necesario implementarlo, de todas formas podría hacerse algo  
> así no?
>
> def age(self):
> 	yeardays = 365
> 	act_year = datetime.date.today().year
> 	diff = (datetime.date.today() - self.birth_date).days
> 	if act_year / 4 == 0 and act_year != 100 or act_year / 400 == 0:
> 		yeardays += 1
> 	else:
> 		yeardays = 365
> 	years = str(int(diff/yeardays))
> 	return unicode(years + ' años')
>
>
> El 26/02/2010, a las 6:20, Jesus Cea escribió:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> On 02/26/2010 01:41 AM, Eduardo Matus wrote:
>>> cuidado con los caracteres especiales
>>>  def age(self):
>>>        diff = (datetime.date.today() - self.birth_date).days
>>>        years = str(int(diff/365))
>>>        return unicode(years + ' años')
>>
>> ¿Y los años bisiestos?.
>>
>> Lo más obvio sería restar los años, y luego sumarle uno si el día  
>> y mes
>> actual es igual o superior al día y mes de nacimiento. Así es como lo
>> hacemos los humanos.
>>




Más información sobre la lista de distribución Python-es