[Python-es] Problemas con clases

Joan Manuel Rivera joan.manuel.rivera en gmail.com
Mar Abr 30 05:30:19 CEST 2013


En realidad no estas obteniendo un error con salida:

    libros leidos por Autor: $$$$$$$ --> <LecturaFinal.Lectura object at
0xb74a77ec>

En éste caso estas obteniendo exactamente lo que estás solicitando, o sea
la cadena de texto que representa a una instancia (objeto) de la clase
Lectura (que has agregando al usar el método
librosleidos.agregaLectura(lectura1), por ejemplo). Por lo visto lo que
quieres es obtener la cadena que representa al libro, por lo que habría que
cambiar la línea:

    print unaLectura2

por

    print unaLectura2.get_libro()

Al momento de ejecutar librosleidos.AnoEdicion hay un par de expresiones
que hacen que las cosas vayan mal; primero *x* debería iniciarse en 0, no
en 1, para que muestre desde la primera coincidencia encontrada; segundo,
usar la variable *i* para ir pasando por cada una de las letras de un libro
hasta que obtienes un error de desbordamiento, ya que la cantidad de letras
del titulo del primer libro supera a la cantidad de lecturas que han sido
agregadas. Para corregir el método puedes eliminar por completo la variable
*x* del inicio (x=1) y al finalizar el *for* (x = x + 1) y luego remplazar
el *for* por lo siguiente:

    for x in range(i):

Con esto solucionarías tus dos problemas, espero que mi aporte te haya sido
de ayuda.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130429/a688d1fe/attachment.html>


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