Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/08/2008, 05:34
EmilioR
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Record ¿exite?

Si, es verdad, incluso una líneas más arriba dice de dónde bajar ese módulo; no lo había visto, me fui crudito al ejemplo. Pero encontré en otro libro la solución.

Código:
from datetime import date

class persona:
    def __init__(self,nombre,dni,dia,mes,anio):
        self.nombre = nombre
        self.dni = dni
        self.nace_dia = dia
        self.nace_mes = mes
        self.nace_anio = anio

    def edad(self):
        nacimiento = date(self.nace_anio,self.nace_mes,self.nace_dia)
        dia_de_hoy = date.today()
        edad = dia_de_hoy.year - nacimiento.year
        return str(edad)
    
def mostrar_persona(persona):
    print 'Nombre: '+ persona.nombre
    print 'dni: '+ persona.dni
    sus_anios = persona.edad
    print 'Edad: '+ persona.edad()
    
juan = persona('Juan','23456897',6,5,1967)
ana = persona('Ana','20987230',12,10,1975)
    
mostrar_persona(juan)
mostrar_persona(ana)
Incluso me puse a jugar en el tipo de dato "datetime"
Al código:

Código:
nacimiento = date(self.nace_anio,self.nace_mes,self.nace_dia)
¿no hay una forma más elegante de hacerlo? ¿hay que repetir el "self" a cada rato?