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
Scott Vaaland
Desarrollo en Python Graduado de Techdegree 11,375 puntosSigo 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
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
from libro import Libro
class BookCase:
def __init__(self):
self.libros =
def add_books(self, libro):
self.libros.append(libro)
1 Respuesta
Steven Parker
244 163 puntosMientras 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".