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

Có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.

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

Travis Alstrand
sello-máscara
.a{fill-rule:evenodd;}techdegree seal-36
Travis Alstrand
Revisor de Proyectos Treehouse

Hola DV Shop ! :wave:

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