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
DV Shop
1.482 puntosCómo agregar un método __eq__ y cómo verificar que el título y el autor sean iguales y devuelvan verdadero o falso.
He intentado muchas veces agregar un método eq y verificar que el Título y Autor sean iguales para devolver un valor Verdadero o Falso. Pero el error de sintaxis: sintaxis inválida. Por favor, corrige mi código o soluciona este problema.
Mi código se adjunta a continuación. Por favor, ayúdame. Muchas gracias.
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
Travis Alstrand
Revisor de Proyectos TreehouseHola DV Shop !
Tu código es válido, solo tiene un error de sintaxis. Si inspeccionas el mensaje de error a la derecha, verás que apunta al final de tu línea de retorno condicional. Tener un salto como este causará un error. Entonces solo necesitas ponerlos en la misma línea así...
class Book:
def __init__(self, author, title):
self.author = author
self.title = 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