class Libro:
    def __init__(self, titulo, autor, genero):
        self.titulo = titulo
        self.autor = autor
        self.genero = gener

# Función para clasificar los libros por género
def clasificar_por_genero(libros):
    clasificacion = {}
    for libro in libros:
        if libro.genero not in clasificacion:
            clasificacion[libro.genero] = []
        clasificacion[libro.genero].append(libro)
    return clasificacion

# Función para ordenar los libros alfabéticamente dentro de cada género
def ordenar_alfabeticamente(clasificacion):
    for genero, libros in clasificacion.items():
        clasificacion[genero] = sorted(libros, key=lambda x: x.titulo)

# Lista de libros
libros = [
    Libro("Cien años de soledad", "Gabriel García Márquez", "Ficción"),
    Libro("El principito", "Antoine de Saint-Exupéry", "Ficción"),
    Libro("Breve historia del tiempo", "Stephen Hawking", "Ciencia"),
    Libro("Sapiens: De animales a dioses", "Yuval Noah Harari", "Historia"),
    Libro("Python Crash Course", "Eric Matthes", "No ficción")
]

# Clasificar los libros por género
clasificacion = clasificar_por_genero(libros)

# Ordenar los libros alfabéticamente dentro de cada género
ordenar_alfabeticamente(clasificacion)

# Imprimir la clasificación
for genero, libros in clasificacion.items():
    print(genero)
    for libro in libros:
        print(f"- {libro.titulo} ({libro.autor})")
    print()
          
  
