[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