Bienvenido a la Comunidad de Treehouse

¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.

¿Buscas aprender algo nuevo?

Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de

Inicia tu prueba gratuita

Python Python Orientado a Objetos Básico Emular funciones integradas Emular funciones integradas

Scott Vaaland
sello-máscara
.a{fill-rule:evenodd;}techdegree seal-36
Scott Vaaland
Desarrollo en Python Graduado de Techdegree 11,375 puntos

Sigo recibiendo un NameError y dice que "Book" no está definido. No puedo averiguarlo.

Agregar un eq método para esta clase de libro. Debe verificar si el autor y el título del libro son iguales y devolver verdadero si lo son y falso si no lo son.

class Book: init(self, author, title):

def __str__(self):
    return f"{self.author}, {self.title}"

def __eq__(self, other):
    if isinstance(other, Book):
        return self.author == other.author and self.title == other.title
    return False
book.py
class Libro:
    def __init__(self, autor, title):
        self.autor = autor
        self.title = title

    def __str__(self):
        return f{self.author}, {self.title}

    def __eq__(self, otro):
        if isinstance(otro, Libro):
            return self.autor == otro.autor y self.title == otro.title
        return False
bookcase.py
from libro import Libro


class BookCase:
    def __init__(self):
       self.libros = 

    def add_books(self, libro):
        self.libros.append(libro)

1 Respuesta

Steven Parker
Steven Parker
244 163 puntos

Mientras que el isinstance check es una buena medida en una aplicación práctica, es más de lo necesario para satisfacer este desafío. El desafío espera que tu código sea similar al ejemplo dado en el video de __eq__. Simplifícalo un poco y lo pasarás.

Por otro lado, no hay una razón obvia para que esto cause un error. Podrías querer reportar esto como un bug a Soporte, podría obtener una "insignia especial de Exterminador". :beetle: